User interface for receiving user input

ABSTRACT

The present disclosure relates to user interfaces for receiving user input. In some examples, a device determines which user input technique a user has accessed most recently, and displays the corresponding user interface. In some examples, a device scrolls through a set of information on the display. When a threshold criteria is satisfied, the device displays an index object fully or partially overlaying the set of information. In some examples, a device displays an emoji graphical object, which is visually manipulated based on user input. The emoji graphical object is transmitted to a recipient. In some examples, a device displays paging affordances that enlarge and allow a user to select a particular page of a user interface. In some examples, the device displays user interfaces for various input methods, including multiple emoji graphical objects. In some examples, a keyboard is displays for receiving user input.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is continuation of U.S. application Ser. No.16/806,981, filed Mar. 2, 2020, which is continuation of U.S.application Ser. No. 14/833,014, filed Aug. 21, 2015, now U.S. Pat. No.10,613,743, which claims priority to U.S. Provisional Application Ser.No. 62/129,903, filed Mar. 8, 2015, U.S. Provisional Application Ser.No. 62/127,800, filed Mar. 3, 2015, and U.S. Provisional ApplicationSer. No. 62/044,923, filed Sep. 2, 2014, the contents of which arehereby incorporated by reference in their entirety.

This application also relates to the following applications:International Patent Application Serial No. PCT/US2013/040087, entitled“Device, Method, and Graphical User Interface for Moving a UserInterface Object Based on an Intensity of a Press Input,” filed May 8,2013; International Patent Application Serial No. PCT/US2013/040072,entitled “Device, Method, and Graphical User Interface for ProvidingFeedback for Changing Activation States of a User Interface Object,”filed May 8, 2013; International Patent Application Serial No.PCT/US2013/040070, entitled “Device, Method, and Graphical UserInterface for Providing Tactile Feedback for Operations Performed in aUser Interface,” filed May 8, 2013; International Patent ApplicationSerial No. PCT/US2013/040067, entitled “Device, Method, and GraphicalUser Interface for Facilitating User Interaction with Controls in a UserInterface,” filed May 8, 2013; International Patent Application SerialNo. PCT/US2013/040061, entitled “Device, Method, and Graphical UserInterface for Displaying User Interface Objects Corresponding to anApplication,” filed May 8, 2013; International Patent Application SerialNo. PCT/US2013/040058, entitled “Device, Method, and Graphical UserInterface for Displaying Additional Information in Response to a UserContact,” filed May 8, 2013; International Patent Application Serial No.PCT/US2013/040056, entitled “Device, Method, and Graphical UserInterface for Scrolling Nested Regions,” filed May 8, 2013;International Patent Application Serial No. PCT/US2013/040054, entitled“Device, Method, and Graphical User Interface for Manipulating FramedGraphical Objects,” filed May 8, 2013; International Patent ApplicationSerial No. PCT/US2013/069489, entitled “Device, Method, and GraphicalUser Interface for Switching Between User Interfaces,” filed Nov. 11,2013; International Patent Application Serial No. PCT/US2013/069486,entitled “Device, Method, and Graphical User Interface for DeterminingWhether to Scroll or Select Content,” filed Nov. 11, 2013; InternationalPatent Application Serial No. PCT/US2013/069484, entitled “Device,Method, and Graphical User Interface for Moving a Cursor According to aChange in an Appearance of a Control Icon with SimulatedThree-Dimensional Characteristics,” filed Nov. 11, 2013; InternationalPatent Application Serial No. PCT/US2013/069483, entitled “Device,Method, and Graphical User Interface for Transitioning Between TouchInput to Display Output Relationships,” filed Nov. 11, 2013;International Patent Application Serial No. PCT/US2013/069479, entitled“Device, Method, and Graphical User Interface for Forgoing Generation ofTactile Output for a Multi-Contact Gesture,” filed Nov. 11, 2013;International Patent Application Serial No. PCT/US2013/069472, entitled“Device, Method, and Graphical User Interface for Navigating UserInterface Hierarchies,” filed Nov. 11, 2013; International PatentApplication Serial No. PCT/US2013/040108, entitled “Device, Method, andGraphical User Interface for Moving and Dropping a User InterfaceObject,” filed May 8, 2013; International Patent Application Serial No.PCT/US2013/040101, entitled “Device, Method, and Graphical UserInterface for Selecting User Interface Objects,” filed May 8, 2013;International Patent Application Serial No. PCT/US2013/040098, entitled“Device, Method, and Graphical User Interface for Displaying ContentAssociated with a Corresponding Affordance,” filed May 8, 2013;International Patent Application Serial No. PCT/US2013/040093, entitled“Device, Method, and Graphical User Interface for Transitioning BetweenDisplay States in Response to a Gesture,” filed May 8, 2013;International Patent Application Serial No. PCT/US2013/040053, entitled“Device, Method, and Graphical User Interface for Selecting Objectwithin a Group of Objects,” filed May 8, 2013; U.S. Patent ApplicationSer. No. 61/778,211, entitled “Device, Method, and Graphical UserInterface for Facilitating User Interaction with Controls in a UserInterface,” filed Mar. 12, 2013; U.S. Patent Application Ser. No.61/778,191, entitled “Device, Method, and Graphical User Interface forDisplaying User Interface Objects Corresponding to an Application,”filed Mar. 12, 2013; U.S. Patent Application Ser. No. 61/778,171,entitled “Device, Method, and Graphical User Interface for DisplayingAdditional Information in Response to a User Contact,” filed Mar. 12,2013; U.S. Patent Application Ser. No. 61/778,179, entitled “Device,Method and Graphical User Interface for Scrolling Nested Regions,” filedMar. 12, 2013; U.S. Patent Application Ser. No. 61/778,156, entitled“Device, Method, and Graphical User Interface for Manipulating FramedGraphical Objects,” filed Mar. 12, 2013; U.S. Patent Application Ser.No. 61/778,125, entitled “Device, Method, And Graphical User Interfacefor Navigating User Interface Hierarchies,” filed Mar. 12, 2013; U.S.Patent Application Ser. No. 61/778,092, entitled “Device, Method, andGraphical User Interface for Selecting Object Within a Group ofObjects,” filed Mar. 12, 2013; U.S. Patent Application Ser. No.61/778,418, entitled “Device, Method, and Graphical User Interface forSwitching Between User Interfaces,” filed Mar. 13, 2013; U.S. PatentApplication Ser. No. 61/778,416, entitled “Device, Method, and GraphicalUser Interface for Determining Whether to Scroll or Select Content,”filed Mar. 13, 2013; U.S. Patent Application Ser. No. 61/747,278,entitled “Device, Method, and Graphical User Interface for ManipulatingUser Interface Objects with Visual and/or Haptic Feedback,” filed Dec.29, 2012; U.S. Patent Application Ser. No. 61/778,414, entitled “Device,Method, and Graphical User Interface for Moving and Dropping a UserInterface Object,” filed Mar. 13, 2013; U.S. Patent Application Ser. No.61/778,413, entitled “Device, Method, and Graphical User Interface forSelecting User Interface Objects,” filed Mar. 13, 2013; U.S. PatentApplication Ser. No. 61/778,412, entitled “Device, Method, and GraphicalUser Interface for Displaying Content Associated with a CorrespondingAffordance,” filed Mar. 13, 2013; U.S. Patent Application Ser. No.61/778,373, entitled “Device, Method, and Graphical User Interface forManaging Activation of a Control Based on Contact Intensity,” filed Mar.12, 2013; U.S. Patent Application Ser. No. 61/778,265, entitled “Device,Method, and Graphical User Interface for Transitioning Between DisplayStates in Response to a Gesture,” filed Mar. 12, 2013; U.S. PatentApplication Ser. No. 61/778,367, entitled “Device, Method, and GraphicalUser Interface for Moving a User Interface Object Based on an Intensityof a Press Input,” filed Mar. 12, 2013; U.S. Patent Application Ser. No.61/778,363, entitled “Device, Method, and Graphical User Interface forTransitioning Between Touch Input to Display Output Relationships,”filed Mar. 12, 2013; U.S. Patent Application Ser. No. 61/778,287,entitled “Device, Method, and Graphical User Interface for ProvidingFeedback for Changing Activation States of a User Interface Object,”filed Mar. 12, 2013; U.S. Patent Application Ser. No. 61/778,284,entitled “Device, Method, and Graphical User Interface for ProvidingTactile Feedback for Operations Performed in a User Interface,” filedMar. 12, 2013; U.S. Patent Application Ser. No. 61/778,239, entitled“Device, Method, and Graphical User Interface for Forgoing Generation ofTactile Output for a Multi-Contact Gesture,” filed Mar. 12, 2013; U.S.Patent Application Ser. No. 61/688,227, entitled “Device, Method, andGraphical User Interface for Manipulating User Interface Objects withVisual and/or Haptic Feedback,” filed May 9, 2012; U.S. ProvisionalPatent Application Ser. No. 61/645,033, filed on May 9, 2012, entitled“Adaptive Haptic Feedback for Electronic Devices;” U.S. ProvisionalPatent Application Ser. No. 61/665,603, filed on Jun. 28, 2012, entitled“Adaptive Haptic Feedback for Electronic Devices;” and U.S. ProvisionalPatent Application Ser. No. 61/681,098, filed on Aug. 8, 2012, entitled“Adaptive Haptic Feedback for Electronic Devices.” The content of theseapplications is hereby incorporated by reference in their entirety.

FIELD

The present disclosure relates generally to computer user interfaces,and more specifically to techniques for receiving user input.

BACKGROUND

The use of electronic devices has significantly increased in recentyears (e.g., accessing music and sending/receiving messages). Devicesreceive input from the user, such as a selection of a song for playback,a selection of a message recipient from a phonebook, a textual input fora message body, and a selection of a particular page of a document. As aresult of the increased use of devices, the frequency of user input intosuch devices has also significantly increased.

BRIEF SUMMARY

Some techniques for receiving user input using electronic devices,however, are generally cumbersome and inefficient. For example,composing or preparing a response to a message requires navigating acomplex and time-consuming user interface, which may include multiplekey presses or keystrokes. Existing techniques require longer thannecessary, wasting user time and device energy. This latterconsideration is particularly important in battery-operated devices.

Accordingly, there is a need for electronic devices with faster, moreefficient methods and interfaces for receiving user input. Such methodsand interfaces optionally complement or replace conventional methods forreceiving user input. Such methods and interfaces reduce the cognitiveburden on a user and produce a more efficient human-machine interface.For battery-operated computing devices, such methods and interfacesconserve power and increase the time between battery charges.

The above deficiencies and other problems associated with userinterfaces for computing devices for receiving user input are reduced oreliminated by the disclosed devices. In some embodiments, the device isa desktop computer. In some embodiments, the device is portable (e.g., anotebook computer, tablet computer, or handheld device). In someembodiments, the device has a touchpad. In some embodiments, the deviceis user-wearable. In some embodiments, the device has a touch-sensitivedisplay (also known as a “touch screen” or “touch screen display”). Insome embodiments, the device has a display and a touch-sensitivesurface. In some embodiments, the device has a short-range communicationradio. In some embodiments, the device has a graphical user interface(GUI), one or more processors, memory and one or more modules, programsor sets of instructions stored in the memory for performing multiplefunctions. In some embodiments, the user interacts with the GUIprimarily through finger contacts and gestures on the touch-sensitivesurface. Executable instructions for performing these functions may beincluded in a computer-readable storage medium or other computer programproduct configured for execution by one or more processors.

In some embodiments, a method is performed at an electronic device witha display. The method includes: receiving a user input; in response toreceiving the user input: identifying a most recently accessed userinput technique of a set of user input techniques, identifying a leastrecently accessed user input technique of the set of user inputtechniques, displaying, on the display, a user input interface of themost recently accessed user input technique, and displaying, on thedisplay, a first affordance associated with a user input interface ofthe least recently accessed user input technique.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: receive a userinput; in response to receiving the user input: identify a most recentlyaccessed user input technique of a set of user input techniques;identify a least recently accessed user input technique of the set ofuser input techniques; display, on the display, a user input interfaceof the most recently accessed user input technique; and displaying, onthe display, a first affordance associated with a user input interfaceof the least recently accessed user input technique.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: receive a userinput; in response to receiving the user input: identify a most recentlyaccessed user input technique of a set of user input techniques;identify a least recently accessed user input technique of the set ofuser input techniques; display, on the display, a user input interfaceof the most recently accessed user input technique; and displaying, onthe display, a first affordance associated with a user input interfaceof the least recently accessed user input technique.

In some embodiments, an electronic device comprises: a display; one ormore processors; a memory; and one or more programs, wherein the one ormore programs are stored in the memory and configured to be executed bythe one or more processors, the one or more programs includinginstructions for: receiving a user input; in response to receiving theuser input: identifying a most recently accessed user input technique ofa set of user input techniques; identifying a least recently accesseduser input technique of the set of user input techniques; displaying, onthe display, a user input interface of the most recently accessed userinput technique; and displaying, on the display, a first affordanceassociated with a user input interface of the least recently accesseduser input technique.

In some embodiments, an electronic device comprises: a display; meansfor receiving a user input; responsive to receiving the user input:means for identifying a most recently accessed user input technique of aset of user input techniques; means for identifying a least recentlyaccessed user input technique of the set of user input techniques; meansfor displaying, on the display, a user input interface of the mostrecently accessed user input technique; and means for displaying, on thedisplay, a first affordance associated with a user input interface ofthe least recently accessed user input technique.

In some embodiments, a device comprises: a displaying unit; a receivingunit configured to receive a user input; and a processing unit coupledto the displaying unit and the receiving unit, the processing unitconfigured to: in response to receiving the user input: identify a mostrecently accessed user input technique of a set of user inputtechniques; identify a least recently accessed user input technique ofthe set of user input techniques; display, on the displaying unit, auser input interface of the most recently accessed user input technique;and display, on the displaying unit, a first affordance associated witha user input interface of the least recently accessed user inputtechnique.

In some embodiments, a method is performed at an electronic device witha display. The method includes: displaying a portion of a set ofinformation; receiving user input associated with the set ofinformation; in response to receiving the user input associated with theset of information, scrolling the set of information on the display;determining whether a scroll attribute satisfies a threshold criteria;and in accordance with a determination that the scroll attributesatisfies the threshold criteria, displaying an index object.

In some embodiments, a non-transitory computer-readable stores mediumstoring one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: display a portionof a set of information; receive user input associated with the set ofinformation; in response to receiving the user input associated with theset of information, scroll the set of information on the display;determine whether a scroll attribute satisfies a threshold criteria; andin accordance with a determination that the scroll attribute satisfiesthe threshold criteria, display an index object.

In some embodiments, a transitory computer-readable stores mediumstoring one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: display a portionof a set of information; receive user input associated with the set ofinformation; in response to receiving the user input associated with theset of information, scroll the set of information on the display;determine whether a scroll attribute satisfies a threshold criteria; andin accordance with a determination that the scroll attribute satisfiesthe threshold criteria, display an index object.

In some embodiments, an electronic device comprises: a display; one ormore processors; a memory; and one or more programs, wherein the one ormore programs are stored in the memory and configured to be executed bythe one or more processors, the one or more programs includinginstructions for: displaying a portion of a set of information;receiving user input associated with the set of information; in responseto receiving the user input associated with the set of information,scrolling the set of information on the display; determining whether ascroll attribute satisfies a threshold criteria; and in accordance witha determination that the scroll attribute satisfies the thresholdcriteria, displaying an index object.

In some embodiments, an electronic device comprises: a display; meansfor receiving a user input; responsive to receiving the user input:means for displaying a portion of a set of information; means forreceiving user input associated with the set of information; means for,responsive to receiving the user input associated with the set ofinformation, scrolling the set of information on the display; means fordetermining whether a scroll attribute satisfies a threshold criteria;and in accordance with a determination that the scroll attributesatisfies the threshold criteria, means for displaying an index object.

In some embodiments, a device comprises: a displaying unit; a processingunit coupled to the displaying unit, the processing unit configured to:display, on the displaying unit, a portion of a set of information;receive user input associated with the set of information; in responseto receiving the user input associated with the set of information,scroll the set of information on the displaying unit; determine whethera scroll attribute satisfies a threshold criteria; and in accordancewith a determination that the scroll attribute satisfies the thresholdcriteria, display an index object.

In some embodiments, a method is performed at an electronic device witha display. The method includes: receiving a user input associated with amessaging input interface; in response to receiving user inputassociated with a messaging input interface, displaying an emojigraphical object; receiving a first user input associated with the emojigraphical object; in response to receiving the first user inputassociated with the emoji graphical object, changing a first visualaspect of the emoji graphical object, wherein the change in the firstvisual aspect is based on the first user input; receiving recipientinformation; and transmitting the emoji graphical object, including thechanged first visual aspect, to a recipient associated with the receivedrecipient information.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: receive a userinput associated with a messaging input interface; in response toreceiving user input associated with the messaging input interface,display an emoji graphical object; receive a first user input associatedwith the emoji graphical object; in response to receiving the first userinput associated with the emoji graphical object, change a first visualaspect of the emoji graphical object, wherein the change in the firstvisual aspect is based on the first user input; receive recipientinformation; and transmit the emoji graphical object, including thechanged first visual aspect, to a recipient associated with the receivedrecipient information.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display, cause the device to: receive a userinput associated with a messaging input interface; in response toreceiving user input associated with the messaging input interface,display an emoji graphical object; receive a first user input associatedwith the emoji graphical object; in response to receiving the first userinput associated with the emoji graphical object, change a first visualaspect of the emoji graphical object, wherein the change in the firstvisual aspect is based on the first user input; receive recipientinformation; and transmit the emoji graphical object, including thechanged first visual aspect, to a recipient associated with the receivedrecipient information.

In some embodiments, an electronic device comprises: a display; one ormore processors; a memory; and one or more programs, wherein the one ormore programs are stored in the memory and configured to be executed bythe one or more processors, the one or more programs includinginstructions for: receiving a user input associated with a messaginginput interface; in response to receiving user input associated with themessaging input interface, displaying an emoji graphical object;receiving a first user input associated with the emoji graphical object;in response to receiving the first user input associated with the emojigraphical object, changing a first visual aspect of the emoji graphicalobject, wherein the change in the first visual aspect is based on thefirst user input; receiving recipient information; and transmitting theemoji graphical object, including the changed first visual aspect, to arecipient associated with the received recipient information.

In some embodiments, an electronic device comprises: a display; meansfor receiving a user input associated with a messaging input interface;in response to receiving user input associated with the messaging inputinterface, displaying an emoji graphical object; means for receiving afirst user input associated with the emoji graphical object; means for,responsive to receiving the first user input associated with the emojigraphical object, changing a first visual aspect of the emoji graphicalobject, wherein the change in the first visual aspect is based on thefirst user input; means for receiving recipient information; and meansfor transmitting the emoji graphical object, including the changed firstvisual aspect, to a recipient associated with the received recipientinformation.

In some embodiments, a device comprises: a displaying unit; a processingunit coupled to the displaying unit, the processing unit configured to:receive a user input associated with a messaging input interface; inresponse to receiving user input associated with the messaging inputinterface, display, on the displaying unit, an emoji graphical object;receive a first user input associated with the emoji graphical object;in response to receiving the first user input associated with the emojigraphical object, change a first visual aspect of the emoji graphicalobject, wherein the change in the first visual aspect is based on thefirst user input; receive recipient information; and transmit the emojigraphical object, including the changed first visual aspect, to arecipient associated with the received recipient information.

In some embodiments, a method is performed at an electronic device witha display. The method includes: displaying a first page of a userinterface and a first set of paging affordances, wherein the first setof paging affordances comprises a first paging affordance that includesa focus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; receiving a user touch at a firstlocation on the touch-sensitive surface, wherein the first location isassociated with the first set of paging affordances; in response toreceiving the user touch at the first location, replacing display of thefirst set of paging affordances with display of a second set of pagingaffordances, wherein the second set of paging affordances comprises asecond paging affordance that corresponds to a second page of the userinterface; while continuing to receive the user touch, detectingmovement of the user touch from the first location to a second locationon the touch-sensitive surface without a break in contact of the usertouch on the touch-sensitive surface, wherein the second location isassociated with the second paging affordance; and in response todetecting the user touch at the second location, displaying the secondpage of the user interface.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first page of a user interface and a first setof paging affordances, wherein the first set of paging affordancescomprises a first paging affordance that includes a focus selector, andwherein the first paging affordance corresponds to the first page of theuser interface; receive a user touch at a first location on thetouch-sensitive surface, wherein the first location is associated withthe first set of paging affordances; in response to receiving the usertouch at the first location, replace display of the first set of pagingaffordances with display of a second set of paging affordances, whereinthe second set of paging affordances comprises a second pagingaffordance that corresponds to a second page of the user interface;while continuing to receive the user touch, detect movement of the usertouch from the first location to a second location on thetouch-sensitive surface without a break in contact of the user touch onthe touch-sensitive surface, wherein the second location is associatedwith the second paging affordance; and in response to detecting the usertouch at the second location, display the second page of the userinterface.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first page of a user interface and a first setof paging affordances, wherein the first set of paging affordancescomprises a first paging affordance that includes a focus selector, andwherein the first paging affordance corresponds to the first page of theuser interface; receive a user touch at a first location on thetouch-sensitive surface, wherein the first location is associated withthe first set of paging affordances; in response to receiving the usertouch at the first location, replace display of the first set of pagingaffordances with display of a second set of paging affordances, whereinthe second set of paging affordances comprises a second pagingaffordance that corresponds to a second page of the user interface;while continuing to receive the user touch, detect movement of the usertouch from the first location to a second location on thetouch-sensitive surface without a break in contact of the user touch onthe touch-sensitive surface, wherein the second location is associatedwith the second paging affordance; and in response to detecting the usertouch at the second location, display the second page of the userinterface.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; one or more processors; a memory; and one ormore programs, wherein the one or more programs are stored in the memoryand configured to be executed by the one or more processors, the one ormore programs including instructions for: displaying a first page of auser interface and a first set of paging affordances, wherein the firstset of paging affordances comprises a first paging affordance thatincludes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; receiving a usertouch at a first location on the touch-sensitive surface, wherein thefirst location is associated with the first set of paging affordances;in response to receiving the user touch at the first location, replacingdisplay of the first set of paging affordances with display of a secondset of paging affordances, wherein the second set of paging affordancescomprises a second paging affordance that corresponds to a second pageof the user interface; while continuing to receive the user touch,detecting movement of the user touch from the first location to a secondlocation on the touch-sensitive surface without a break in contact ofthe user touch on the touch-sensitive surface, wherein the secondlocation is associated with the second paging affordance; and inresponse to detecting the user touch at the second location, displayingthe second page of the user interface.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; means for displaying a first page of a userinterface and a first set of paging affordances, wherein the first setof paging affordances comprises a first paging affordance that includesa focus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; means for receiving a user touchat a first location on the touch-sensitive surface, wherein the firstlocation is associated with the first set of paging affordances; meansfor, responsive to receiving the user touch at the first location,replacing display of the first set of paging affordances with display ofa second set of paging affordances, wherein the second set of pagingaffordances comprises a second paging affordance that corresponds to asecond page of the user interface; means for, while continuing toreceive the user touch, detecting movement of the user touch from thefirst location to a second location on the touch-sensitive surfacewithout a break in contact of the user touch on the touch-sensitivesurface, wherein the second location is associated with the secondpaging affordance; and means for, responsive to detecting the user touchat the second location, displaying the second page of the userinterface.

In some embodiments, a device comprises: a displaying unit; atouch-sensitive surface unit; a processing unit coupled to thedisplaying unit and the touch-sensitive surface unit, the processingunit configured to: display, on the displaying unit, a first page of auser interface and a first set of paging affordances, wherein the firstset of paging affordances comprises a first paging affordance thatincludes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; receive a usertouch at a first location on the touch-sensitive surface unit, whereinthe first location is associated with the first set of pagingaffordances; in response to receiving the user touch at the firstlocation, replace display of the first set of paging affordances withdisplay of a second set of paging affordances, wherein the second set ofpaging affordances comprises a second paging affordance that correspondsto a second page of the user interface; while continuing to receive theuser touch, detect movement of the user touch from the first location toa second location on the touch-sensitive surface unit without a break incontact of the user touch on the touch-sensitive surface unit, whereinthe second location is associated with the second paging affordance; andin response to detecting the user touch at the second location, displaythe second page of the user interface.

In some embodiments, a method is performed at an electronic device witha display and a touch-sensitive surface. The method includes: displayinga first page, of a plurality of pages, of a user interface and a firstset of paging affordances, wherein the first set of paging affordancescomprises a first paging affordance that includes a focus selector, andwherein the first paging affordance corresponds to the first page of theuser interface; receiving a user touch at a first location on thetouch-sensitive surface, the first location corresponding to the firstset of paging affordances; in response to receiving the user touch atthe first location, replacing display of the first set of pagingaffordances with display of a second set of paging affordances, whereinthe second set of paging affordances comprises a first paging affordancethat includes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; while continuing toreceive the user touch, detecting movement of the user touch from thefirst location to a second location on the touch-sensitive surfacewithout breaking contact with the touch-sensitive surface, wherein thesecond location is associated with the second paging affordance; and inresponse to detecting the user touch at the second location: replacingdisplay if the first page with a second page of the plurality of pages;and updating the second set of paging affordances, wherein the updatingcomprises removing the focus selector from the first paging affordanceof the set and displaying a second paging affordance of the set ofpaging affordances with the focus selector.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first page, of a plurality of pages, of a userinterface and a first set of paging affordances, wherein the first setof paging affordances comprises a first paging affordance that includesa focus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; receive a user touch at a firstlocation on the touch-sensitive surface, the first locationcorresponding to the first set of paging affordances; in response toreceiving the user touch at the first location, replace display of thefirst set of paging affordances with display of a second set of pagingaffordances, wherein the second set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; while continuing to receive the user touch, detect movementof the user touch from the first location to a second location on thetouch-sensitive surface without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance; and in response to detecting the usertouch at the second location: replace display if the first page with asecond page of the plurality of pages; and update the second set ofpaging affordances, wherein the updating comprises removing the focusselector from the first paging affordance of the set and displaying asecond paging affordance of the set of paging affordances with the focusselector.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a first page, of a plurality of pages, of a userinterface and a first set of paging affordances, wherein the first setof paging affordances comprises a first paging affordance that includesa focus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; receive a user touch at a firstlocation on the touch-sensitive surface, the first locationcorresponding to the first set of paging affordances; in response toreceiving the user touch at the first location, replace display of thefirst set of paging affordances with display of a second set of pagingaffordances, wherein the second set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; while continuing to receive the user touch, detect movementof the user touch from the first location to a second location on thetouch-sensitive surface without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance; and in response to detecting the usertouch at the second location: replace display if the first page with asecond page of the plurality of pages; and update the second set ofpaging affordances, wherein the updating comprises removing the focusselector from the first paging affordance of the set and displaying asecond paging affordance of the set of paging affordances with the focusselector.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; one or more processors; a memory; and one ormore programs, wherein the one or more programs are stored in the memoryand configured to be executed by the one or more processors, the one ormore programs including instructions for: displaying a first page, of aplurality of pages, of a user interface and a first set of pagingaffordances, wherein the first set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; receiving a user touch at a first location on thetouch-sensitive surface, the first location corresponding to the firstset of paging affordances; in response to receiving the user touch atthe first location, replacing display of the first set of pagingaffordances with display of a second set of paging affordances, whereinthe second set of paging affordances comprises a first paging affordancethat includes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; while continuing toreceive the user touch, detecting movement of the user touch from thefirst location to a second location on the touch-sensitive surfacewithout breaking contact with the touch-sensitive surface, wherein thesecond location is associated with the second paging affordance; and inresponse to detecting the user touch at the second location: replacingdisplay if the first page with a second page of the plurality of pages;and updating the second set of paging affordances, wherein the updatingcomprises removing the focus selector from the first paging affordanceof the set and displaying a second paging affordance of the set ofpaging affordances with the focus selector.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; means for displaying a first page, of aplurality of pages, of a user interface and a first set of pagingaffordances, wherein the first set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; means for receiving a user touch at a first location on thetouch-sensitive surface, the first location corresponding to the firstset of paging affordances; means for, responsive to receiving the usertouch at the first location, replacing display of the first set ofpaging affordances with display of a second set of paging affordances,wherein the second set of paging affordances comprises a first pagingaffordance that includes a focus selector, and wherein the first pagingaffordance corresponds to the first page of the user interface; meansfor, while continuing to receive the user touch, detecting movement ofthe user touch from the first location to a second location on thetouch-sensitive surface without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance; and responsive to detecting the user touchat the second location: means for replacing display if the first pagewith a second page of the plurality of pages; and means for updating thesecond set of paging affordances, wherein the updating comprisesremoving the focus selector from the first paging affordance of the setand displaying a second paging affordance of the set of pagingaffordances with the focus selector.

In some embodiments, a device comprises: a displaying unit; atouch-sensitive surface unit; a processing unit coupled to thedisplaying unit and the touch-sensitive unit, the processing unit isconfigured to: display, on the displaying unit, a first page, of aplurality of pages, of a user interface and a first set of pagingaffordances, wherein the first set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; receive a user touch at a first location on thetouch-sensitive surface unit, the first location corresponding to thefirst set of paging affordances; responsive to receiving the user touchat the first location, replace display of the first set of pagingaffordances with display of a second set of paging affordances, whereinthe second set of paging affordances comprises a first paging affordancethat includes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; while continuing toreceive the user touch, detect movement of the user touch from the firstlocation to a second location on the touch-sensitive surface unitwithout breaking contact with the touch-sensitive surface, wherein thesecond location is associated with the second paging affordance; andresponsive to detecting the user touch at the second location: replacedisplay if the first page with a second page of the plurality of pages;and update the second set of paging affordances, wherein the updatingcomprises removing the focus selector from the first paging affordanceof the set and displaying a second paging affordance of the set ofpaging affordances with the focus selector.

In some embodiments, a method is performed at an electronic device witha display. The method includes: receiving a first user input; inresponse to receiving the first user input, displaying, on the display,a dictation user interface; receiving a second user input; in responseto receiving the second user input, replacing display of the dictationuser interface with display of a first emoji graphical object; receivinga first user swipe gesture input at a location on the touch-sensitivesurface associated with the first emoji graphical object; in response toreceiving the first user swipe gesture input, replacing display of thefirst emoji graphical object with display of a second emoji graphicalobject; receiving a second user swipe gesture input at thetouch-sensitive surface; and in response to receiving the second userswipe gesture input, displaying a set of recently accessed emojigraphical objects.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: receive a first user input; in response to receiving thefirst user input, display, on the display, a dictation user interface;receive a second user input; in response to receiving the second userinput, replace display of the dictation user interface with display of afirst emoji graphical object; receive a first user swipe gesture inputat a location on the touch-sensitive surface associated with the firstemoji graphical object; in response to receiving the first user swipegesture input, replace display of the first emoji graphical object withdisplay of a second emoji graphical object; receive a second user swipegesture input at the touch-sensitive surface; and in response toreceiving the second user swipe gesture input, display a set of recentlyaccessed emoji graphical objects.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: receive a first user input; in response to receiving thefirst user input, display, on the display, a dictation user interface;receive a second user input; in response to receiving the second userinput, replace display of the dictation user interface with display of afirst emoji graphical object; receive a first user swipe gesture inputat a location on the touch-sensitive surface associated with the firstemoji graphical object; in response to receiving the first user swipegesture input, replace display of the first emoji graphical object withdisplay of a second emoji graphical object; receive a second user swipegesture input at the touch-sensitive surface; and in response toreceiving the second user swipe gesture input, display a set of recentlyaccessed emoji graphical objects.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; one or more processors; a memory; and one ormore programs, wherein the one or more programs are stored in the memoryand configured to be executed by the one or more processors, the one ormore programs including instructions for: receiving a first user input;in response to receiving the first user input, displaying, on thedisplay, a dictation user interface; receiving a second user input; inresponse to receiving the second user input, replacing display of thedictation user interface with display of a first emoji graphical object;receiving a first user swipe gesture input at a location on thetouch-sensitive surface associated with the first emoji graphicalobject; in response to receiving the first user swipe gesture input,replacing display of the first emoji graphical object with display of asecond emoji graphical object; receiving a second user swipe gestureinput at the touch-sensitive surface; and in response to receiving thesecond user swipe gesture input, displaying a set of recently accessedemoji graphical objects.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; means for receiving a first user input; meansfor, responsive to receiving the first user input, displaying, on thedisplay, a dictation user interface; means for receiving a second userinput; means for, responsive to receiving the second user input,replacing display of the dictation user interface with display of afirst emoji graphical object; means for receiving a first user swipegesture input at a location on the touch-sensitive surface associatedwith the first emoji graphical object; means for, responsive toreceiving the first user swipe gesture input, replacing display of thefirst emoji graphical object with display of a second emoji graphicalobject; means for receiving a second user swipe gesture input at thetouch-sensitive surface; and means for, responsive to receiving thesecond user swipe gesture input, displaying a set of recently accessedemoji graphical objects.

In some embodiments, a device comprises: a displaying unit; atouch-sensitive surface unit; a processing unit coupled to thedisplaying unit and the touch-sensitive surface unit, the processingunit is configured to: receive a first user input; in response toreceiving the first user input, display, on the displaying unit, adictation user interface; receive a second user input; responsive toreceiving the second user input, replace display of the dictation userinterface with display of a first emoji graphical object; receive afirst user swipe gesture input at a location on the touch-sensitivesurface unit associated with the first emoji graphical object; inresponse to receiving the first user swipe gesture input, replacedisplay of the first emoji graphical object with display of a secondemoji graphical object; receive a second user swipe gesture input at thetouch-sensitive surface unit; and in response to receiving the seconduser swipe gesture input, display a set of recently accessed emojigraphical objects.

In some embodiments, a method is performed at an electronic device witha touch-sensitive display. The method comprises: displaying a keyboardand a text entry interface, the text entry interface comprising acharacter insertion point; detecting a touch user input with a firstcharacteristic intensity at a first location on the touch-sensitivedisplay, the first location associated with the keyboard andcorresponding to a first character; determining a first characteristicintensity of the touch user input at the first location; in accordancewith a determination that the first characteristic intensity of thetouch user input does not exceed an intensity threshold, displaying apreview of the first character on the touch-sensitive display; and inaccordance with a determination that the first characteristic intensityof the touch user input at the first location exceeds the intensitythreshold, displaying the first character at the character insertionpoint on the touch-sensitive display.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a touch-sensitive display, cause the device to:display a keyboard and a text entry interface, the text entry interfacecomprising a character insertion point; detect a touch user input with afirst characteristic intensity at a first location on thetouch-sensitive display, the first location associated with the keyboardand corresponding to a first character; determine a first characteristicintensity of the touch user input at the first location; in accordancewith a determination that the first characteristic intensity of thetouch user input does not exceed an intensity threshold, display apreview of the first character on the touch-sensitive display; and inaccordance with a determination that the first characteristic intensityof the touch user input at the first location exceeds the intensitythreshold, display the first character at the character insertion pointon the touch-sensitive display.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a touch-sensitive display, cause the device to:display a keyboard and a text entry interface, the text entry interfacecomprising a character insertion point; detect a touch user input with afirst characteristic intensity at a first location on thetouch-sensitive display, the first location associated with the keyboardand corresponding to a first character; determine a first characteristicintensity of the touch user input at the first location; in accordancewith a determination that the first characteristic intensity of thetouch user input does not exceed an intensity threshold, display apreview of the first character on the touch-sensitive display; and inaccordance with a determination that the first characteristic intensityof the touch user input at the first location exceeds the intensitythreshold, display the first character at the character insertion pointon the touch-sensitive display.

In some embodiments, an electronic device comprises: a touch-sensitivedisplay; one or more processors; a memory; and one or more programs,wherein the one or more programs are stored in the memory and configuredto be executed by the one or more processors, the one or more programsincluding instructions for: displaying a keyboard and a text entryinterface, the text entry interface comprising a character insertionpoint; detecting a touch user input with a first characteristicintensity at a first location on the touch-sensitive display, the firstlocation associated with the keyboard and corresponding to a firstcharacter; determining a first characteristic intensity of the touchuser input at the first location; in accordance with a determinationthat the first characteristic intensity of the touch user input does notexceed an intensity threshold, displaying a preview of the firstcharacter on the touch-sensitive display; and in accordance with adetermination that the first characteristic intensity of the touch userinput at the first location exceeds the intensity threshold, displayingthe first character at the character insertion point on thetouch-sensitive display.

In some embodiments, an electronic device comprises: a touch-sensitivedisplay; means for displaying a keyboard and a text entry interface, thetext entry interface comprising a character insertion point; means fordetecting a touch user input with a first characteristic intensity at afirst location on the touch-sensitive display, the first locationassociated with the keyboard and corresponding to a first character;means for determining a first characteristic intensity of the touch userinput at the first location; means, in accordance with a determinationthat the first characteristic intensity of the touch user input does notexceed an intensity threshold, for displaying a preview of the firstcharacter on the touch-sensitive display; and means, in accordance witha determination that the first characteristic intensity of the touchuser input at the first location exceeds the intensity threshold, fordisplaying the first character at the character insertion point on thetouch-sensitive display.

In some embodiments, an electronic device comprises: a touch-sensitivedisplay unit; and a processing unit coupled to the touch-sensitivedisplay, the processing unit configured to: display a keyboard and atext entry interface, the text entry interface comprising a characterinsertion point; detect a touch user input with a first characteristicintensity at a first location on the touch-sensitive display, the firstlocation associated with the keyboard and corresponding to a firstcharacter; determine a first characteristic intensity of the touch userinput at the first location; in accordance with a determination that thefirst characteristic intensity of the touch user input does not exceedan intensity threshold, display a preview of the first character on thetouch-sensitive display; and in accordance with a determination that thefirst characteristic intensity of the touch user input at the firstlocation exceeds the intensity threshold, display the first character atthe character insertion point on the touch-sensitive display.

In some embodiments, a method is performed at an electronic device witha display and a touch-sensitive surface. The method comprises:displaying a user interface including a set of one or more affordances;while displaying the user interface, receiving a user input on thetouch-sensitive surface; determining a characteristic intensity of theuser input; and in accordance with a determination that thecharacteristic intensity of the user input exceeds an intensitythreshold: determining whether a contextual affordance is available forthe user interface; in accordance with a determination that thecontextual affordance is available, displaying the contextualaffordance; and in accordance with a determination that the contextualaffordance is not available, displaying a visual indication that thecontextual affordance is not available for the user interface.

In some embodiments, a non-transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a user interface including a set of one or moreaffordances; while displaying the user interface, receive a user inputon the touch-sensitive surface; determine a characteristic intensity ofthe user input; and in accordance with a determination that thecharacteristic intensity of the user input exceeds an intensitythreshold: determine whether a contextual affordance is available forthe user interface; in accordance with a determination that thecontextual affordance is available, display the contextual affordance;and in accordance with a determination that the contextual affordance isnot available, display a visual indication that the contextualaffordance is not available for the user interface.

In some embodiments, a transitory computer-readable storage mediumstores one or more programs, the one or more programs comprisinginstructions, which when executed by one or more processors of anelectronic device with a display and a touch-sensitive surface, causethe device to: display a user interface including a set of one or moreaffordances; while displaying the user interface, receive a user inputon the touch-sensitive surface; determine a characteristic intensity ofthe user input; and in accordance with a determination that thecharacteristic intensity of the user input exceeds an intensitythreshold: determine whether a contextual affordance is available forthe user interface; in accordance with a determination that thecontextual affordance is available, display the contextual affordance;and in accordance with a determination that the contextual affordance isnot available, display a visual indication that the contextualaffordance is not available for the user interface.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; one or more processors; a memory; and one ormore programs, wherein the one or more programs are stored in the memoryand configured to be executed by the one or more processors, the one ormore programs including instructions for: displaying a user interfaceincluding a set of one or more affordances; while displaying the userinterface, receiving a user input on the touch-sensitive surface;determining a characteristic intensity of the user input; and inaccordance with a determination that the characteristic intensity of theuser input exceeds an intensity threshold: determining whether acontextual affordance is available for the user interface; in accordancewith a determination that the contextual affordance is available,displaying the contextual affordance; and in accordance with adetermination that the contextual affordance is not available,displaying a visual indication that the contextual affordance is notavailable for the user interface.

In some embodiments, an electronic device comprises: a display; atouch-sensitive surface; means for displaying a user interface includinga set of one or more affordances; means for, while displaying the userinterface, receiving a user input on the touch-sensitive surface; meansfor determining a characteristic intensity of the user input; and means,in accordance with a determination that the characteristic intensity ofthe user input exceeds an intensity threshold, for: determining whethera contextual affordance is available for the user interface; inaccordance with a determination that the contextual affordance isavailable, displaying the contextual affordance; and in accordance witha determination that the contextual affordance is not available,displaying a visual indication that the contextual affordance is notavailable for the user interface.

In some embodiments, an electronic device comprises: a display unitconfigured to display a graphic user interface; a touch-sensitivesurface unit configured to detect intensity of contacts; and aprocessing unit coupled to the display and the touch-sensitive surface,the processing unit configured to: enable display a user interfaceincluding a set of one or more affordances; while enabling display ofthe user interface, receive a user input on the touch-sensitive surface;determine a characteristic intensity of the user input; and inaccordance with a determination that the characteristic intensity of theuser input exceeds an intensity threshold: determine whether acontextual affordance is available for the user interface; in accordancewith a determination that the contextual affordance is available, enabledisplay of the contextual affordance; and in accordance with adetermination that the contextual affordance is not available, enabledisplay of a visual indication that the contextual affordance is notavailable for the user interface.

In some embodiments, a system includes: a display; means for receiving auser input; means responsive to receiving the user input for:identifying a most recently accessed user input technique of a set ofuser input techniques; identifying a least recently accessed user inputtechnique of the set of user input techniques; displaying, on thedisplay, a user input interface of the most recently accessed user inputtechnique; and displaying, on the display, a first affordance associatedwith a user input interface of the least recently accessed user inputtechnique.

In some embodiments, a system includes: a display; means for displayinga portion of a set of information; means for receiving user inputassociated with the set of information; means, responsive to receivingthe user input associated with the set of information, for scrolling theset of information on the display; means for determining whether ascroll attribute satisfies a threshold criteria; and means, inaccordance with a determination that the scroll attribute satisfies thethreshold criteria, for displaying an index object.

In some embodiments, a system includes: a display; means for receiving auser input associated with a messaging input interface; means,responsive to receiving user input associated with a messaging inputinterface, for displaying an emoji graphical object; means for receivinga first user input associated with the emoji graphical object; means,responsive to receiving the first user input associated with the emojigraphical object, for changing a first visual aspect of the emojigraphical object, wherein the change in the first visual aspect is basedon the first user input; means for receiving recipient information; andmeans for transmitting the emoji graphical object, including the changedfirst visual aspect, to a recipient associated with the receivedrecipient information.

In some embodiments, a system includes: a display; a touch-sensitivesurface; means for displaying a first page of a user interface and afirst set of paging affordances, wherein the first set of pagingaffordances comprises a first paging affordance that includes a focusselector, and wherein the first paging affordance corresponds to thefirst page of the user interface; means for receiving a user touch at afirst location on the touch-sensitive surface, wherein the firstlocation is associated with the first set of paging affordances; meansfor in response to receiving the user touch at the first location,replacing display of the first set of paging affordances with display ofa second set of paging affordances, wherein the second set of pagingaffordances comprises a second paging affordance that corresponds to asecond page of the user interface; while continuing to receive the usertouch, means for detecting movement of the user touch from the firstlocation to a second location on the touch-sensitive surface without abreak in contact of the user touch on the touch-sensitive surface,wherein the second location is associated with the second pagingaffordance; and means, responsive to detecting the user touch at thesecond location, for displaying the second page of the user interface.

In some embodiments, a system includes: a display; a touch-sensitivesurface; means for displaying a first page, of a plurality of pages, ofa user interface and a first set of paging affordances, wherein thefirst set of paging affordances comprises a first paging affordance thatincludes a focus selector, and wherein the first paging affordancecorresponds to the first page of the user interface; means for receivinga user touch at a first location on the touch-sensitive surface, thefirst location corresponding to the first set of paging affordances;means, responsive to receiving the user touch at the first location, forreplacing display of the first set of paging affordances with display ofa second set of paging affordances, wherein the second set of pagingaffordances comprises a first paging affordance that includes a focusselector, and wherein the first paging affordance corresponds to thefirst page of the user interface; while continuing to receive the usertouch, means for detecting movement of the user touch from the firstlocation to a second location on the touch-sensitive surface withoutbreaking contact with the touch-sensitive surface, wherein the secondlocation is associated with the second paging affordance; and means,responsive to detecting the user touch at the second location, for:replacing display if the first page with a second page of the pluralityof pages; and updating the second set of paging affordances, wherein theupdating comprises removing the focus selector from the first pagingaffordance of the set and displaying a second paging affordance of theset of paging affordances with the focus selector.

In some embodiments, a system includes: a display; a touch-sensitivesurface; means for receiving a first user input; means, responsive toreceiving the first user input, for displaying, on the display, adictation user interface; means for receiving a second user input;means, responsive to receiving the second user input, for replacingdisplay of the dictation user interface with display of a first emojigraphical object; means for receiving a first user swipe gesture inputat a location on the touch-sensitive surface associated with the firstemoji graphical object; means, responsive to receiving the first userswipe gesture input, for replacing display of the first emoji graphicalobject with display of a second emoji graphical object; means forreceiving a second user swipe gesture input at the touch-sensitivesurface; and means, responsive to receiving the second user swipegesture input, for displaying a set of recently accessed emoji graphicalobjects.

Executable instructions for performing these functions are, optionally,included in a non-transitory computer-readable storage medium or othercomputer program product configured for execution by one or moreprocessors. Executable instructions for performing these functions are,optionally, included in a transitory computer-readable storage medium orother computer program product configured for execution by one or moreprocessors.

Thus, devices are provided with faster, more efficient methods andinterfaces for receiving user input, thereby increasing theeffectiveness, efficiency, and user satisfaction with such devices. Suchmethods and interfaces may complement or replace other methods forreceiving user input.

DESCRIPTION OF THE FIGURES

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments.

FIG. 2 illustrates a portable multifunction device having a touch screenin accordance with some embodiments.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on a portable multifunction device in accordance with someembodiments.

FIG. 4B illustrates an exemplary user interface for a multifunctiondevice with a touch-sensitive surface that is separate from the displayin accordance with some embodiments.

FIG. 5A illustrates a personal electronic device in accordance with someembodiments.

FIG. 5B is a block diagram illustrating a personal electronic device inaccordance with some embodiments.

FIGS. 5C-5D illustrate exemplary components of a personal electronicdevice having a touch-sensitive display and intensity sensors inaccordance with some embodiments.

FIGS. 5E-5H illustrate exemplary components and user interfaces of apersonal electronic device in accordance with some embodiments.

FIGS. 6A-6D illustrate exemplary user interfaces for receiving userinput in accordance with some embodiments.

FIG. 7 is a flow diagram illustrating an exemplary process for receivinguser input in accordance with some embodiments.

FIG. 8 illustrates exemplary user interfaces for receiving user inputassociated with a scrollable list in accordance with some embodiments.

FIG. 9 is a flow diagram illustrating an exemplary process for receivinguser input associated with a scrollable list in accordance with someembodiments.

FIG. 10 is a flow diagram illustrating an exemplary process forreceiving user input associated with a scrollable list in accordancewith some embodiments.

FIG. 11 illustrates exemplary user interfaces for manipulating an emojigraphical object in accordance with some embodiments.

FIG. 12 is a flow diagram illustrating an exemplary process formanipulating an emoji graphical object in accordance with someembodiments.

FIG. 13 illustrates exemplary user interfaces for transitioning betweenvarious pages in accordance with some embodiments.

FIGS. 14A-14B are flow diagrams illustrating exemplary processes fortransitioning between various pages in accordance with some embodiments.

FIGS. 15A-15B illustrate exemplary user interfaces for receiving userinput in accordance with some embodiments.

FIG. 16 is a flow diagram illustrating an exemplary process forreceiving user input in accordance with some embodiments.

FIGS. 17A-17D illustrate exemplary user interfaces for receiving userinput in accordance with some embodiments.

FIGS. 18-23 illustrate functional block diagrams in accordance with someembodiments.

FIG. 24 is a flow diagram illustrating an exemplary process forreceiving user input in accordance with some embodiments.

FIG. 25 illustrates a functional block diagram in accordance with someembodiments.

FIGS. 26A-26N illustrate exemplary user interfaces for receiving userinput in accordance with some embodiments.

FIG. 27 is a flow diagram illustrating an exemplary process forreceiving user input in accordance with some embodiments.

FIG. 28 illustrates a functional block diagram in accordance with someembodiments.

DESCRIPTION OF EMBODIMENTS

The following description sets forth exemplary methods, parameters andthe like. It should be recognized, however, that such description is notintended as a limitation on the scope of the present disclosure but isinstead provided as a description of exemplary embodiments.

There is a need for electronic devices that provide efficient interfacesfor receiving user input. For example, ease of use for selection of anitem from a list, entering textual input, and selection of a particularpage of a document contribute to the efficiency of user access andinput. Such techniques can reduce the cognitive burden on a user whouses messaging, music, and other applications, thereby enhancingproductivity. Further, such techniques can reduce processor and batterypower otherwise wasted on redundant user inputs.

Below, FIGS. 1A-1B, 2, 3, 4A-4B, and 5A-5B provide a description ofexemplary devices for performing the techniques for receiving userinput. FIGS. 6A-6D, 8, 11, 13, 15A-15B, and 17A-17D illustrate exemplaryuser interfaces for receiving user input. The user interfaces in thefigures are also used to illustrate the processes described below,including the processes in FIGS. 7, 9, 10, 12, 14A-14B, and 16.

Although the following description uses terms “first,” “second,” etc. todescribe various elements, these elements should not be limited by theterms. These terms are only used to distinguish one element fromanother. For example, a first touch could be termed a second touch, and,similarly, a second touch could be termed a first touch, withoutdeparting from the scope of the various described embodiments. The firsttouch and the second touch are both touches, but they are not the sametouch.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a”, “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

The term “if” is, optionally, construed to mean “when” or “upon” or “inresponse to determining” or “in response to detecting,” depending on thecontext. Similarly, the phrase “if it is determined” or “if [a statedcondition or event] is detected” is, optionally, construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Exemplary embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse, and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a drawing application, a presentationapplication, a word processing application, a website creationapplication, a disk authoring application, a spreadsheet application, agaming application, a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, aworkout support application, a photo management application, a digitalcamera application, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display 112 issometimes called a “touch screen” for convenience and is sometimes knownas or called a “touch-sensitive display system.” Device 100 includesmemory 102 (which optionally includes one or more computer-readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more contact intensity sensors 165 fordetecting intensity of contacts on device 100 (e.g., a touch-sensitivesurface such as touch-sensitive display system 112 of device 100).Device 100 optionally includes one or more tactile output generators 167for generating tactile outputs on device 100 (e.g., generating tactileoutputs on a touch-sensitive surface such as touch-sensitive displaysystem 112 of device 100 or touchpad 355 of device 300). Thesecomponents optionally communicate over one or more communication busesor signal lines 103.

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface refers to the force or pressure(force per unit area) of a contact (e.g., a finger contact) on thetouch-sensitive surface, or to a substitute (proxy) for the force orpressure of a contact on the touch-sensitive surface. The intensity of acontact has a range of values that includes at least four distinctvalues and more typically includes hundreds of distinct values (e.g., atleast 256). Intensity of a contact is, optionally, determined (ormeasured) using various approaches and various sensors or combinationsof sensors. For example, one or more force sensors underneath oradjacent to the touch-sensitive surface are, optionally, used to measureforce at various points on the touch-sensitive surface. In someimplementations, force measurements from multiple force sensors arecombined (e.g., a weighted average) to determine an estimated force of acontact. Similarly, a pressure-sensitive tip of a stylus is, optionally,used to determine a pressure of the stylus on the touch-sensitivesurface. Alternatively, the size of the contact area detected on thetouch-sensitive surface and/or changes thereto, the capacitance of thetouch-sensitive surface proximate to the contact and/or changes thereto,and/or the resistance of the touch-sensitive surface proximate to thecontact and/or changes thereto are, optionally, used as a substitute forthe force or pressure of the contact on the touch-sensitive surface. Insome implementations, the substitute measurements for contact force orpressure are used directly to determine whether an intensity thresholdhas been exceeded (e.g., the intensity threshold is described in unitscorresponding to the substitute measurements). In some implementations,the substitute measurements for contact force or pressure are convertedto an estimated force or pressure, and the estimated force or pressureis used to determine whether an intensity threshold has been exceeded(e.g., the intensity threshold is a pressure threshold measured in unitsof pressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be accessible by the user on a reduced-size device withlimited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, or a combination of both hardware andsoftware, including one or more signal processing and/orapplication-specific integrated circuits.

Memory 102 optionally includes one or more computer-readable storagemediums. The computer-readable storage mediums are optionally tangibleand non-transitory. The computer-readable storage mediums are optionallytransitory. Memory 102 optionally includes high-speed random accessmemory and optionally also includes non-volatile memory, such as one ormore magnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Memory controller 122optionally controls access to memory 102 by other components of device100.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data. In some embodiments, peripheralsinterface 118, CPU 120, and memory controller 122 are, optionally,implemented on a single chip, such as chip 104. In some otherembodiments, they are, optionally, implemented on separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The RF circuitry 108optionally includes well-known circuitry for detecting near fieldcommunication (NFC) fields, such as by a short-range communicationradio. The wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies, including but notlimited to Global System for Mobile Communications (GSM), Enhanced DataGSM Environment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity(Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n,and/or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, aprotocol for e-mail (e.g., Internet message access protocol (IMAP)and/or post office protocol (POP)), instant messaging (e.g., extensiblemessaging and presence protocol (XMPP), Session Initiation Protocol forInstant Messaging and Presence Leveraging Extensions (SIMPLE), InstantMessaging and Presence Service (IMPS)), and/or Short Message Service(SMS), or any other suitable communication protocol, includingcommunication protocols not yet developed as of the filing date of thisdocument.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch screen 112 and other input control devices 116, to peripheralsinterface 118. I/O subsystem 106 optionally includes display controller156, optical sensor controller 158, intensity sensor controller 159,haptic feedback controller 161, and one or more input controllers 160for other input or control devices. The one or more input controllers160 receive/send electrical signals from/to other input control devices116. The other input control devices 116 optionally include physicalbuttons (e.g., push buttons, rocker buttons, etc.), dials, sliderswitches, joysticks, click wheels, and so forth. In some alternateembodiments, input controller(s) 160 are, optionally, coupled to any (ornone) of the following: a keyboard, an infrared port, a USB port, and apointer device such as a mouse. The one or more buttons (e.g., 208, FIG.2) optionally include an up/down button for volume control of speaker111 and/or microphone 113. The one or more buttons optionally include apush button (e.g., 206, FIG. 2).

A quick press of the push button optionally disengages a lock of touchscreen 112 or optionally begins a process that uses gestures on thetouch screen to unlock the device, as described in U.S. patentapplication Ser. No. 11/322,549, “Unlocking a Device by PerformingGestures on an Unlock Image,” filed Dec. 23, 2005, U.S. Pat. No.7,657,849, which is hereby incorporated by reference in its entirety. Alonger press of the push button (e.g., 206) optionally turns power todevice 100 on or off. The functionality of one or more of the buttonsare, optionally, user-customizable. Touch screen 112 is used toimplement virtual or soft buttons and one or more soft keyboards.

Touch-sensitive display 112 provides an input interface and an outputinterface between the device and a user. Display controller 156 receivesand/or sends electrical signals from/to touch screen 112. Touch screen112 displays visual output to the user. The visual output optionallyincludes graphics, text, icons, video, and any combination thereof(collectively termed “graphics”). In some embodiments, some or all ofthe visual output optionally corresponds to user-interface objects.

Touch screen 112 has a touch-sensitive surface, sensor, or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. Touch screen 112 and display controller 156 (along with anyassociated modules and/or sets of instructions in memory 102) detectcontact (and any movement or breaking of the contact) on touch screen112 and convert the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages,or images) that are displayed on touch screen 112. In an exemplaryembodiment, a point of contact between touch screen 112 and the usercorresponds to a finger of the user.

Touch screen 112 optionally uses LCD (liquid crystal display)technology, LPD (light emitting polymer display) technology, or LED(light emitting diode) technology, although other display technologiesare used in other embodiments. Touch screen 112 and display controller156 optionally detect contact and any movement or breaking thereof usingany of a plurality of touch sensing technologies now known or laterdeveloped, including but not limited to capacitive, resistive, infrared,and surface acoustic wave technologies, as well as other proximitysensor arrays or other elements for determining one or more points ofcontact with touch screen 112. In an exemplary embodiment, projectedmutual capacitance sensing technology is used, such as that found in theiPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.

A touch-sensitive display in some embodiments of touch screen 112 is,optionally, analogous to the multi-touch sensitive touchpads describedin the following U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat.No. 6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference in its entirety. However,touch screen 112 displays visual output from device 100, whereastouch-sensitive touchpads do not provide visual output.

A touch-sensitive display in some embodiments of touch screen 112 isdescribed in the following applications: (1) U.S. patent applicationSer. No. 11/381,313, “Multipoint Touch Surface Controller,” filed May 2,2006; (2) U.S. patent application Ser. No. 10/840,862, “MultipointTouchscreen,” filed May 6, 2004; (3) U.S. patent application Ser. No.10/903,964, “Gestures For Touch Sensitive Input Devices,” filed Jul. 30,2004; (4) U.S. patent application Ser. No. 11/048,264, “Gestures ForTouch Sensitive Input Devices,” filed Jan. 31, 2005; (5) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6) U.S. patentapplication Ser. No. 11/228,758, “Virtual Input Device Placement On ATouch Screen User Interface,” filed Sep. 16, 2005; (7) U.S. patentapplication Ser. No. 11/228,700, “Operation Of A Computer With A TouchScreen Interface,” filed Sep. 16, 2005; (8) U.S. patent application Ser.No. 11/228,737, “Activating Virtual Keys Of A Touch-Screen VirtualKeyboard,” filed Sep. 16, 2005; and (9) U.S. patent application Ser. No.11/367,749, “Multi-Functional Hand-Held Device,” filed Mar. 3, 2006. Allof these applications are incorporated by reference herein in theirentirety.

Touch screen 112 optionally has a video resolution in excess of 100 dpi.In some embodiments, the touch screen has a video resolution ofapproximately 160 dpi. The user optionally makes contact with touchscreen 112 using any suitable object or appendage, such as a stylus, afinger, and so forth. In some embodiments, the user interface isdesigned to work primarily with finger-based contacts and gestures,which can be less precise than stylus-based input due to the larger areaof contact of a finger on the touch screen. In some embodiments, thedevice translates the rough finger-based input into a precisepointer/cursor position or command for performing the actions desired bythe user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad (not shown) for activating ordeactivating particular functions. In some embodiments, the touchpad isa touch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from touch screen 112 or anextension of the touch-sensitive surface formed by the touch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled to optical sensor controller 158in I/O subsystem 106. Optical sensor 164 optionally includescharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor 164 receives light from theenvironment, projected through one or more lenses, and converts thelight to data representing an image. In conjunction with imaging module143 (also called a camera module), optical sensor 164 optionallycaptures still images or video. In some embodiments, an optical sensoris located on the back of device 100, opposite touch screen display 112on the front of the device so that the touch screen display is enabledfor use as a viewfinder for still and/or video image acquisition. Insome embodiments, an optical sensor is located on the front of thedevice so that the user's image is, optionally, obtained for videoconferencing while the user views the other video conferenceparticipants on the touch screen display. In some embodiments, theposition of optical sensor 164 can be changed by the user (e.g., byrotating the lens and the sensor in the device housing) so that a singleoptical sensor 164 is used along with the touch screen display for bothvideo conferencing and still and/or video image acquisition.

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled tointensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor 165 optionally includes one or more piezoresistive strain gauges,capacitive force sensors, electric force sensors, piezoelectric forcesensors, optical force sensors, capacitive touch-sensitive surfaces, orother intensity sensors (e.g., sensors used to measure the force (orpressure) of a contact on a touch-sensitive surface). Contact intensitysensor 165 receives contact intensity information (e.g., pressureinformation or a proxy for pressure information) from the environment.In some embodiments, at least one contact intensity sensor is collocatedwith, or proximate to, a touch-sensitive surface (e.g., touch-sensitivedisplay system 112). In some embodiments, at least one contact intensitysensor is located on the back of device 100, opposite touch screendisplay 112, which is located on the front of device 100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled to peripherals interface 118.Alternately, proximity sensor 166 is, optionally, coupled to inputcontroller 160 in I/O subsystem 106. Proximity sensor 166 optionallyperforms as described in U.S. patent application Ser. No. 11/241,839,“Proximity Detector In Handheld Device”; Ser. No. 11/240,788, “ProximityDetector In Handheld Device”; Ser. No. 11/620,702, “Using Ambient LightSensor To Augment Proximity Sensor Output”; Ser. No. 11/586,862,“Automated Response To And Sensing Of User Activity In PortableDevices”; and Ser. No. 11/638,251, “Methods And Systems For AutomaticConfiguration Of Peripherals,” which are hereby incorporated byreference in their entirety. In some embodiments, the proximity sensorturns off and disables touch screen 112 when the multifunction device isplaced near the user's ear (e.g., when the user is making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled tohaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator 167 optionally includes one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Contact intensity sensor 165 receives tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch screen display 112, which is located on thefront of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1A shows accelerometer 168 coupled to peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled to an inputcontroller 160 in I/O subsystem 106. Accelerometer 168 optionallyperforms as described in U.S. Patent Publication No. 20050190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 20060017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are incorporated by reference herein in their entirety. Insome embodiments, information is displayed on the touch screen displayin a portrait view or a landscape view based on an analysis of datareceived from the one or more accelerometers. Device 100 optionallyincludes, in addition to accelerometer(s) 168, a magnetometer (notshown) and a GPS (or GLONASS or other global navigation system) receiver(not shown) for obtaining information concerning the location andorientation (e.g., portrait or landscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, text input module (or setof instructions) 134, Global Positioning System (GPS) module (or set ofinstructions) 135, and applications (or sets of instructions) 136.Furthermore, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3)stores device/global internal state 157, as shown in FIGS. 1A and 3.Device/global internal state 157 includes one or more of: activeapplication state, indicating which applications, if any, are currentlyactive; display state, indicating what applications, views or otherinformation occupy various regions of touch screen display 112; sensorstate, including information obtained from the device's various sensorsand input control devices 116; and location information concerning thedevice's location and/or attitude.

Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with, the30-pin connector used on iPod® (trademark of Apple Inc.) devices.

Contact/motion module 130 optionally detects contact with touch screen112 (in conjunction with display controller 156) and othertouch-sensitive devices (e.g., a touchpad or physical click wheel).Contact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments,contact/motion module 130 and display controller 156 detect contact on atouchpad.

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch screen display can be set to any of alarge range of predefined threshold values without changing the trackpador touch screen display hardware. Additionally, in some implementations,a user of the device is provided with software settings for adjustingone or more of the set of intensity thresholds (e.g., by adjustingindividual intensity thresholds and/or by adjusting a plurality ofintensity thresholds at once with a system-level click “intensity”parameter).

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (liftoff) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (liftoff) event.

Graphics module 132 includes various known software components forrendering and displaying graphics on touch screen 112 or other display,including components for changing the visual impact (e.g., brightness,transparency, saturation, contrast, or other visual property) ofgraphics that are displayed. As used herein, the term “graphics”includes any object that can be displayed to a user, including, withoutlimitation, text, web pages, icons (such as user-interface objectsincluding soft keys), digital images, videos, animations, and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing; to camera 143 as picture/video metadata;and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   Contacts module 137 (sometimes called an address book or contact        list);    -   Telephone module 138;    -   Video conference module 139;    -   E-mail client module 140;    -   Instant messaging (IM) module 141;    -   Workout support module 142;    -   Camera module 143 for still and/or video images;    -   Image management module 144;    -   Video player module;    -   Music player module;    -   Browser module 147;    -   Calendar module 148;    -   Widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   Widget creator module 150 for making user-created widgets 149-6;    -   Search module 151;    -   Video and music player module 152, which merges video player        module and music player module;    -   Notes module 153;    -   Map module 154; and/or    -   Online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, contacts module 137 are, optionally, used to manage an address bookor contact list (e.g., stored in application internal state 192 ofcontacts module 137 in memory 102 or memory 370), including: addingname(s) to the address book; deleting name(s) from the address book;associating telephone number(s), e-mail address(es), physicaladdress(es) or other information with a name; associating an image witha name; categorizing and sorting names; providing telephone numbers ore-mail addresses to initiate and/or facilitate communications bytelephone 138, video conference module 139, e-mail 140, or IM 141; andso forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact/motionmodule 130, graphics module 132, and text input module 134, telephonemodule 138 are optionally, used to enter a sequence of characterscorresponding to a telephone number, access one or more telephonenumbers in contacts module 137, modify a telephone number that has beenentered, dial a respective telephone number, conduct a conversation, anddisconnect or hang up when the conversation is completed. As notedabove, the wireless communication optionally uses any of a plurality ofcommunications standards, protocols, and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact/motion module 130, graphicsmodule 132, text input module 134, contacts module 137, and telephonemodule 138, video conference module 139 includes executable instructionsto initiate, conduct, and terminate a video conference between a userand one or more other participants in accordance with user instructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, the instant messaging module 141 includes executableinstructions to enter a sequence of characters corresponding to aninstant message, to modify previously entered characters, to transmit arespective instant message (for example, using a Short Message Service(SMS) or Multimedia Message Service (MMS) protocol for telephony-basedinstant messages or using XMPP, SIMPLE, or IMPS for Internet-basedinstant messages), to receive instant messages, and to view receivedinstant messages. In some embodiments, transmitted and/or receivedinstant messages optionally include graphics, photos, audio files, videofiles and/or other attachments as are supported in an MMS and/or anEnhanced Messaging Service (EMS). As used herein, “instant messaging”refers to both telephony-based messages (e.g., messages sent using SMSor MMS) and Internet-based messages (e.g., messages sent using XMPP,SIMPLE, or IMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, map module 154, and music playermodule, workout support module 142 includes executable instructions tocreate workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (sports devices); receiveworkout sensor data; calibrate sensors used to monitor a workout; selectand play music for a workout; and display, store, and transmit workoutdata.

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact/motion module 130,graphics module 132, and image management module 144, camera module 143includes executable instructions to capture still images or video(including a video stream) and store them into memory 102, modifycharacteristics of a still image or video, or delete a still image orvideo from memory 102.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, text input module 134,and camera module 143, image management module 144 includes executableinstructions to arrange, modify (e.g., edit), or otherwise manipulate,label, delete, present (e.g., in a digital slide show or album), andstore still and/or video images.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, and textinput module 134, browser module 147 includes executable instructions tobrowse the Internet in accordance with user instructions, includingsearching, linking to, receiving, and displaying web pages or portionsthereof, as well as attachments and other files linked to web pages.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, e-mail client module 140, and browser module 147,calendar module 148 includes executable instructions to create, display,modify, and store calendars and data associated with calendars (e.g.,calendar entries, to-do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, widget modules 149 aremini-applications that are, optionally, downloaded and used by a user(e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, and browser module 147, the widget creator module 150are, optionally, used by a user to create widgets (e.g., turning auser-specified portion of a web page into a widget).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, search module 151 includes executable instructions to search fortext, music, sound, image, video, and/or other files in memory 102 thatmatch one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, and browser module 147, video and musicplayer module 152 includes executable instructions that allow the userto download and play back recorded music and other sound files stored inone or more file formats, such as MP3 or AAC files, and executableinstructions to display, present, or otherwise play back videos (e.g.,on touch screen 112 or on an external, connected display via externalport 124). In some embodiments, device 100 optionally includes thefunctionality of an MP3 player, such as an iPod (trademark of AppleInc.).

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, and text input module134, notes module 153 includes executable instructions to create andmanage notes, to-do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact/motion module 130, graphics module 132, textinput module 134, GPS module 135, and browser module 147, map module 154are, optionally, used to receive, display, modify, and store maps anddata associated with maps (e.g., driving directions, data on stores andother points of interest at or near a particular location, and otherlocation-based data) in accordance with user instructions.

In conjunction with touch screen 112, display controller 156,contact/motion module 130, graphics module 132, audio circuitry 110,speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesinstructions that allow the user to access, browse, receive (e.g., bystreaming and/or download), play back (e.g., on the touch screen or onan external, connected display via external port 124), send an e-mailwith a link to a particular online video, and otherwise manage onlinevideos in one or more file formats, such as H.264. In some embodiments,instant messaging module 141, rather than e-mail client module 140, isused to send a link to a particular online video. Additional descriptionof the online video application can be found in U.S. Provisional PatentApplication No. 60/936,562, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Jun. 20,2007, and U.S. patent application Ser. No. 11/968,067, “PortableMultifunction Device, Method, and Graphical User Interface for PlayingOnline Videos,” filed Dec. 31, 2007, the contents of which are herebyincorporated by reference in their entirety.

Each of the above-identified modules and applications corresponds to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (e.g., sets of instructions) need notbe implemented as separate software programs, procedures, or modules,and thus various subsets of these modules are, optionally, combined orotherwise rearranged in various embodiments. For example, video playermodule is, optionally, combined with music player module into a singlemodule (e.g., video and music player module 152, FIG. 1A). In someembodiments, memory 102 optionally stores a subset of the modules anddata structures identified above. Furthermore, memory 102 optionallystores additional modules and data structures not described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating exemplary components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., inoperating system 126) and a respective application 136-1 (e.g., any ofthe aforementioned applications 137-151, 155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch-sensitivedisplay 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display 112, as part of a multi-touchgesture). Peripherals interface 118 transmits information it receivesfrom I/O subsystem 106 or a sensor, such as proximity sensor 166,accelerometer(s) 168, and/or microphone 113 (through audio circuitry110). Information that peripherals interface 118 receives from I/Osubsystem 106 includes information from touch-sensitive display 112 or atouch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripherals interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more viewswhen touch-sensitive display 112 displays more than one view. Views aremade up of controls and other elements that a user can see on thedisplay.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected optionally correspond to programmatic levelswithin a programmatic or view hierarchy of the application. For example,the lowest level view in which a touch is detected is, optionally,called the hit view, and the set of events that are recognized as properinputs are, optionally, determined based, at least in part, on the hitview of the initial touch that begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (e.g., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule 172, the hit view typically receives all sub-events related tothe same touch or input source for which it was identified as the hitview.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver 182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 optionally utilizes or calls data updater176, object updater 177, or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 include one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170 and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which optionally include sub-event deliveryinstructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch, the eventinformation optionally also includes speed and direction of thesub-event. In some embodiments, events include rotation of the devicefrom one orientation to another (e.g., from a portrait orientation to alandscape orientation, or vice versa), and the event informationincludes corresponding information about the current orientation (alsocalled device attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event (187) include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first liftoff (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second liftoff (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay 112, and liftoff of the touch (touch end). In some embodiments,the event also includes information for one or more associated eventhandlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display 112, when a touch is detected on touch-sensitivedisplay 112, event comparator 184 performs a hit test to determine whichof the three user-interface objects is associated with the touch(sub-event). If each displayed object is associated with a respectiveevent handler 190, the event comparator uses the result of the hit testto determine which event handler 190 should be activated. For example,event comparator 184 selects an event handler associated with thesub-event and the object triggering the hit test.

In some embodiments, the definition for a respective event (187) alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers interact, or are enabled to interact, with one another. Insome embodiments, metadata 183 includes configurable properties, flags,and/or lists that indicate whether sub-events are delivered to varyinglevels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater177 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc. on touchpads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screenoptionally displays one or more graphics within user interface (UI) 200.In this embodiment, as well as others described below, a user is enabledto select one or more of the graphics by making a gesture on thegraphics, for example, with one or more fingers 202 (not drawn to scalein the figure) or one or more styluses 203 (not drawn to scale in thefigure). In some embodiments, selection of one or more graphics occurswhen the user breaks contact with the one or more graphics. In someembodiments, the gesture optionally includes one or more taps, one ormore swipes (from left to right, right to left, upward and/or downward),and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with device 100. In someimplementations or circumstances, inadvertent contact with a graphicdoes not select the graphic. For example, a swipe gesture that sweepsover an application icon optionally does not select the correspondingapplication when the gesture corresponding to selection is a tap.

Device 100 optionally also include one or more physical buttons, such as“home” or menu button 204. As described previously, menu button 204 is,optionally, used to navigate to any application 136 in a set ofapplications that are, optionally, executed on device 100.Alternatively, in some embodiments, the menu button is implemented as asoft key in a GUI displayed on touch screen 112.

In some embodiments, device 100 includes touch screen 112, menu button204, push button 206 for powering the device on/off and locking thedevice, volume adjustment button(s) 208, subscriber identity module(SIM) card slot 210, headset jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, device 100 also acceptsverbal input for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensity of contacts ontouch screen 112 and/or one or more tactile output generators 167 forgenerating tactile outputs for a user of device 100.

FIG. 3 is a block diagram of an exemplary multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPUs) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1A), sensors 359(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1A). Memory 370 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM, or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 370 optionally includes one or more storage devicesremotely located from CPU(s) 310. In some embodiments, memory 370 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1A), or a subset thereof. Furthermore,memory 370 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 370 of device 300 optionally stores drawingmodule 380, presentation module 382, word processing module 384, websitecreation module 386, disk authoring module 388, and/or spreadsheetmodule 390, while memory 102 of portable multifunction device 100 (FIG.1A) optionally does not store these modules.

Each of the above-identified elements in FIG. 3 are, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove-identified modules corresponds to a set of instructions forperforming a function described above. The above-identified modules orprograms (e.g., sets of instructions) need not be implemented asseparate software programs, procedures, or modules, and thus varioussubsets of these modules are, optionally, combined or otherwiserearranged in various embodiments. In some embodiments, memory 370optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 370 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces thatis, optionally, implemented on, for example, portable multifunctiondevice 100.

FIG. 4A illustrates an exemplary user interface for a menu ofapplications on portable multifunction device 100 in accordance withsome embodiments. Similar user interfaces are, optionally, implementedon device 300. In some embodiments, user interface 400 includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Bluetooth indicator 405;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser;” and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod;” and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Messages;”        -   Icon 426 for calendar module 148, labeled “Calendar;”        -   Icon 428 for image management module 144, labeled “Photos;”        -   Icon 430 for camera module 143, labeled “Camera;”        -   Icon 432 for online video module 155, labeled “Online            Video;”        -   Icon 434 for stocks widget 149-2, labeled “Stocks;”        -   Icon 436 for map module 154, labeled “Maps;”        -   Icon 438 for weather widget 149-1, labeled “Weather;”        -   Icon 440 for alarm clock widget 149-4, labeled “Clock;”        -   Icon 442 for workout support module 142, labeled “Workout            Support;”        -   Icon 444 for notes module 153, labeled “Notes;” and        -   Icon 446 for a settings application or module, labeled            “Settings,” which provides access to settings for device 100            and its various applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely exemplary. For example, icon 422 for video and music playermodule 152 are labeled “Music” or “Music Player.” Other labels are,optionally, used for various application icons. In some embodiments, alabel for a respective application icon includes a name of anapplication corresponding to the respective application icon. In someembodiments, a label for a particular application icon is distinct froma name of an application corresponding to the particular applicationicon.

FIG. 4B illustrates an exemplary user interface on a device (e.g.,device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tabletor touchpad 355, FIG. 3) that is separate from the display 450 (e.g.,touch screen display 112). Device 300 also, optionally, includes one ormore contact intensity sensors (e.g., one or more of sensors 359) fordetecting intensity of contacts on touch-sensitive surface 451 and/orone or more tactile output generators 357 for generating tactile outputsfor a user of device 300.

Although some of the examples which follow will be given with referenceto inputs on touch screen display 112 (where the touch-sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 4B. In some embodiments, the touch-sensitive surface(e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) thatcorresponds to a primary axis (e.g., 453 in FIG. 4B) on the display(e.g., 450). In accordance with these embodiments, the device detectscontacts (e.g., 460 and 462 in FIG. 4B) with the touch-sensitive surface451 at locations that correspond to respective locations on the display(e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470).In this way, user inputs (e.g., contacts 460 and 462, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,451 in FIG. 4B) are used by the device to manipulate the user interfaceon the display (e.g., 450 in FIG. 4B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse-based input or stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

FIG. 5A illustrates exemplary personal electronic device 500. Device 500includes body 502. In some embodiments, device 500 can include some orall of the features described with respect to devices 100 and 300 (e.g.,FIGS. 1A-4B). In some embodiments, device 500 has touch-sensitivedisplay screen 504, hereafter touch screen 504. Alternatively, or inaddition to touch screen 504, device 500 has a display and atouch-sensitive surface. As with devices 100 and 300, in someembodiments, touch screen 504 (or the touch-sensitive surface)optionally includes one or more intensity sensors for detectingintensity of contacts (e.g., touches) being applied. The one or moreintensity sensors of touch screen 504 (or the touch-sensitive surface)can provide output data that represents the intensity of touches. Theuser interface of device 500 can respond to touches based on theirintensity, meaning that touches of different intensities can invokedifferent user interface operations on device 500.

Exemplary techniques for detecting and processing touch intensity arefound, for example, in related applications: International PatentApplication Serial No. PCT/US2013/040061, titled “Device, Method, andGraphical User Interface for Displaying User Interface ObjectsCorresponding to an Application,” filed May 8, 2013, and InternationalPatent Application Serial No. PCT/US2013/069483, titled “Device, Method,and Graphical User Interface for Transitioning Between Touch Input toDisplay Output Relationships,” filed Nov. 11, 2013, each of which ishereby incorporated by reference in their entirety.

In some embodiments, device 500 has one or more input mechanisms 506 and508. Input mechanisms 506 and 508, if included, can be physical.Examples of physical input mechanisms include push buttons and rotatablemechanisms. In some embodiments, device 500 has one or more attachmentmechanisms. Such attachment mechanisms, if included, can permitattachment of device 500 with, for example, hats, eyewear, earrings,necklaces, shirts, jackets, bracelets, watch straps, chains, trousers,belts, shoes, purses, backpacks, and so forth. These attachmentmechanisms permit device 500 to be worn by a user.

FIG. 5B depicts exemplary personal electronic device 500. In someembodiments, device 500 can include some or all of the componentsdescribed with respect to FIGS. 1A, 1B, and 3. Device 500 has bus 512that operatively couples I/O section 514 with one or more computerprocessors 516 and memory 518. I/O section 514 can be connected todisplay 504, which can have touch-sensitive component 522 and,optionally, intensity sensor 524 (e.g., contact intensity sensor). Inaddition, I/O section 514 can be connected with communication unit 530for receiving application and operating system data, using Wi-Fi,Bluetooth, near field communication (NFC), cellular, and/or otherwireless communication techniques. Device 500 can include inputmechanisms 506 and/or 508. Input mechanism 506 is, optionally, arotatable input device or a depressible and rotatable input device, forexample. Input mechanism 508 is, optionally, a button, in some examples.

Input mechanism 508 is, optionally, a microphone, in some examples.Personal electronic device 500 optionally includes various sensors, suchas GPS sensor 532, accelerometer 534, directional sensor 540 (e.g.,compass), gyroscope 536, motion sensor 538, and/or a combinationthereof, all of which can be operatively connected to I/O section 514.

Memory 518 of personal electronic device 500 can be a non-transitorycomputer-readable storage medium, for storing computer-executableinstructions, which, when executed by one or more computer processors516, for example, can cause the computer processors to perform thetechniques described above, including processes 700 (FIG. 7), 900 (FIG.9), 1000 (FIG. 10), 1200 (FIG. 12), 1400 (FIG. 14A), 1420 (FIG. 14B),and 1600 (FIG. 16). The computer-executable instructions can also bestored and/or transported within any non-transitory computer-readablestorage medium for use by or in connection with an instruction executionsystem, apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. For purposes of this document, a“non-transitory computer-readable storage medium” can be any medium thatcan tangibly contain or store computer-executable instructions for useby or in connection with the instruction execution system, apparatus, ordevice. The non-transitory computer-readable storage medium can include,but is not limited to, magnetic, optical, and/or semiconductor storages.Examples of such storage include magnetic disks, optical discs based onCD, DVD, or Blu-ray technologies, as well as persistent solid-statememory such as flash, solid-state drives, and the like. Personalelectronic device 500 is not limited to the components and configurationof FIG. 5B, but can include other or additional components in multipleconfigurations.

As used here, the term “affordance” refers to a user-interactivegraphical user interface object that is, optionally, displayed on thedisplay screen of devices 100, 300, and/or 500 (FIGS. 1, 3, and 5). Forexample, an image (e.g., icon), a button, and text (e.g., hyperlink)each optionally constitute an affordance.

As used herein, the term “focus selector” refers to an input elementthat indicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B)while the cursor is over a particular user interface element (e.g., abutton, window, slider or other user interface element), the particularuser interface element is adjusted in accordance with the detectedinput. In some implementations that include a touch screen display(e.g., touch-sensitive display system 112 in FIG. 1A or touch screen 112in FIG. 4A) that enables direct interaction with user interface elementson the touch screen display, a detected contact on the touch screen actsas a “focus selector” so that when an input (e.g., a press input by thecontact) is detected on the touch screen display at a location of aparticular user interface element (e.g., a button, window, slider, orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementations,focus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact, or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “characteristicintensity” of a contact refers to a characteristic of the contact basedon one or more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionallybased on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, or the like. In some embodiments, theduration of the contact is used in determining the characteristicintensity (e.g., when the characteristic intensity is an average of theintensity of the contact over time). In some embodiments, thecharacteristic intensity is compared to a set of one or more intensitythresholds to determine whether an operation has been performed by auser. For example, the set of one or more intensity thresholdsoptionally includes a first intensity threshold and a second intensitythreshold. In this example, a contact with a characteristic intensitythat does not exceed the first threshold results in a first operation, acontact with a characteristic intensity that exceeds the first intensitythreshold and does not exceed the second intensity threshold results ina second operation, and a contact with a characteristic intensity thatexceeds the second threshold results in a third operation. In someembodiments, a comparison between the characteristic intensity and oneor more thresholds is used to determine whether or not to perform one ormore operations (e.g., whether to perform a respective operation orforgo performing the respective operation) rather than being used todetermine whether to perform a first operation or a second operation.

FIG. 5C illustrates detecting a plurality of contacts 552A-552E ontouch-sensitive display screen 504 with a plurality of intensity sensors524A-524D. FIG. 5C additionally includes intensity diagrams that showthe current intensity measurements of the intensity sensors 524A-524Drelative to units of intensity. In this example, the intensitymeasurements of intensity sensors 524A and 524D are each 9 units ofintensity, and the intensity measurements of intensity sensors 524B and524C are each 7 units of intensity. In some implementations, anaggregate intensity is the sum of the intensity measurements of theplurality of intensity sensors 524A-524D, which in this example is 32intensity units. In some embodiments, each contact is assigned arespective intensity that is a portion of the aggregate intensity. FIG.5D illustrates assigning the aggregate intensity to contacts 552A-552Ebased on their distance from the center of force 554. In this example,each of contacts 552A, 552B and 552E are assigned an intensity ofcontact of 8 intensity units of the aggregate intensity, and each ofcontacts 552C and 552D are assigned an intensity of contact of 4intensity units of the aggregate intensity. More generally, in someimplementations, each contact j is assigned a respective intensity Ijthat is a portion of the aggregate intensity, A, in accordance with apredefined mathematical function, Ij=A·(Dj/ΣDi), where Dj is thedistance of the respective contact j to the center of force, and ΣDi isthe sum of the distances of all the respective contacts (e.g., i=1 tolast) to the center of force. The operations described with reference toFIGS. 5C-5D can be performed using an electronic device similar oridentical to device 100, 300, or 500. In some embodiments, acharacteristic intensity of a contact is based on one or moreintensities of the contact. In some embodiments, the intensity sensorsare used to determine a single characteristic intensity (e.g., a singlecharacteristic intensity of a single contact). It should be noted thatthe intensity diagrams are not part of a displayed user interface, butare included in FIGS. 5C-5D to aid the reader.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface optionally receives a continuous swipe contacttransitioning from a start location and reaching an end location, atwhich point the intensity of the contact increases. In this example, thecharacteristic intensity of the contact at the end location is,optionally, based on only a portion of the continuous swipe contact, andnot the entire swipe contact (e.g., only the portion of the swipecontact at the end location). In some embodiments, a smoothing algorithmis, optionally, applied to the intensities of the swipe contact prior todetermining the characteristic intensity of the contact. For example,the smoothing algorithm optionally includes one or more of: anunweighted sliding-average smoothing algorithm, a triangular smoothingalgorithm, a median filter smoothing algorithm, and/or an exponentialsmoothing algorithm. In some circumstances, these smoothing algorithmseliminate narrow spikes or dips in the intensities of the swipe contactfor purposes of determining a characteristic intensity.

The intensity of a contact on the touch-sensitive surface is,optionally, characterized relative to one or more intensity thresholds,such as a contact-detection intensity threshold, a light press intensitythreshold, a deep press intensity threshold, and/or one or more otherintensity thresholds. In some embodiments, the light press intensitythreshold corresponds to an intensity at which the device will performoperations typically associated with clicking a button of a physicalmouse or a trackpad. In some embodiments, the deep press intensitythreshold corresponds to an intensity at which the device will performoperations that are different from operations typically associated withclicking a button of a physical mouse or a trackpad. In someembodiments, when a contact is detected with a characteristic intensitybelow the light press intensity threshold (e.g., and above a nominalcontact-detection intensity threshold below which the contact is nolonger detected), the device will move a focus selector in accordancewith movement of the contact on the touch-sensitive surface withoutperforming an operation associated with the light press intensitythreshold or the deep press intensity threshold. Generally, unlessotherwise stated, these intensity thresholds are consistent betweendifferent sets of user interface figures.

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold to an intensity between thelight press intensity threshold and the deep press intensity thresholdis sometimes referred to as a “light press” input. An increase ofcharacteristic intensity of the contact from an intensity below the deeppress intensity threshold to an intensity above the deep press intensitythreshold is sometimes referred to as a “deep press” input. An increaseof characteristic intensity of the contact from an intensity below thecontact-detection intensity threshold to an intensity between thecontact-detection intensity threshold and the light press intensitythreshold is sometimes referred to as detecting the contact on thetouch-surface. A decrease of characteristic intensity of the contactfrom an intensity above the contact-detection intensity threshold to anintensity below the contact-detection intensity threshold is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments, the contact-detection intensity threshold is zero.In some embodiments, the contact-detection intensity threshold isgreater than zero.

In some embodiments described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., a “down stroke” of the respective pressinput). In some embodiments, the press input includes an increase inintensity of the respective contact above the press-input intensitythreshold and a subsequent decrease in intensity of the contact belowthe press-input intensity threshold, and the respective operation isperformed in response to detecting the subsequent decrease in intensityof the respective contact below the press-input threshold (e.g., an “upstroke” of the respective press input).

FIGS. 5E-5H illustrate detection of a gesture that includes a pressinput that corresponds to an increase in intensity of a contact 562 froman intensity below a light press intensity threshold (e.g., “IT_(L)”) inFIG. 5E, to an intensity above a deep press intensity threshold (e.g.,“IT_(D)”) in FIG. 5H. The gesture performed with contact 562 is detectedon touch-sensitive surface 560 while cursor 576 is displayed overapplication icon 572B corresponding to App 2, on a displayed userinterface 570 that includes application icons 572A-572D displayed inpredefined region 574. In some embodiments, the gesture is detected ontouch-sensitive display 504. The intensity sensors detect the intensityof contacts on touch-sensitive surface 560. The device determines thatthe intensity of contact 562 peaked above the deep press intensitythreshold (e.g., “IT_(D)”). Contact 562 is maintained on touch-sensitivesurface 560. In response to the detection of the gesture, and inaccordance with contact 562 having an intensity that goes above the deeppress intensity threshold (e.g., “IT_(D)”) during the gesture,reduced-scale representations 578A-578C (e.g., thumbnails) of recentlyopened documents for App 2 are displayed, as shown in FIGS. 5F-5H. Insome embodiments, the intensity, which is compared to the one or moreintensity thresholds, is the characteristic intensity of a contact. Itshould be noted that the intensity diagram for contact 562 is not partof a displayed user interface, but is included in FIGS. 5E-5H to aid thereader.

In some embodiments, the display of representations 578A-578C includesan animation. For example, representation 578A is initially displayed inproximity of application icon 572B, as shown in FIG. 5F. As theanimation proceeds, representation 578A moves upward and representation578B is displayed in proximity of application icon 572B, as shown inFIG. 5G. Then representations 578A moves upward, 578B moves upwardtoward representation 578A, and representation 578C is displayed inproximity of application icon 572B, as shown in FIG. 5H. Representations578A-578C form an array above icon 572B. In some embodiments, theanimation progresses in accordance with an intensity of contact 562, asshown in FIGS. 5F-5G, where the representations 578A-578C appear andmove upwards as the intensity of contact 562 increases toward the deeppress intensity threshold (e.g., “IT_(D)”). In some embodiments theintensity, on which the progress of the animation is based, is thecharacteristic intensity of the contact. The operations described withreference to FIGS. 5E-5H can be performed using an electronic devicesimilar or identical to device 100, 300, or 500.

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90%, or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., an “up stroke” of therespective press input). Similarly, in some embodiments, the press inputis detected only when the device detects an increase in intensity of thecontact from an intensity at or below the hysteresis intensity thresholdto an intensity at or above the press-input intensity threshold and,optionally, a subsequent decrease in intensity of the contact to anintensity at or below the hysteresis intensity, and the respectiveoperation is performed in response to detecting the press input (e.g.,the increase in intensity of the contact or the decrease in intensity ofthe contact, depending on the circumstances).

For ease of explanation, the descriptions of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting either: an increase inintensity of a contact above the press-input intensity threshold, anincrease in intensity of a contact from an intensity below thehysteresis intensity threshold to an intensity above the press-inputintensity threshold, a decrease in intensity of the contact below thepress-input intensity threshold, and/or a decrease in intensity of thecontact below the hysteresis intensity threshold corresponding to thepress-input intensity threshold. Additionally, in examples where anoperation is described as being performed in response to detecting adecrease in intensity of a contact below the press-input intensitythreshold, the operation is, optionally, performed in response todetecting a decrease in intensity of the contact below a hysteresisintensity threshold corresponding to, and lower than, the press-inputintensity threshold.

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that are implemented, for example, on anelectronic device, such as multifunction device 100, 300, and/or 500, toimprove a user's experience in providing user input. The illustrateduser interface screens optionally include an illustrated finger with anoptional arrow illustrating movement of the finger. The illustratedfinger and corresponding arrow are typically not part of the displayeduser interface, but are provided to aid in the interpretation of thefigures.

FIGS. 6A-6D illustrate exemplary user interfaces for receiving userinput using an electronic device, in accordance with some embodiments.In some embodiments, the electronic device is device 500. In someembodiments, the electronic device has a display (e.g., 112, 340, 504),a touch-sensitive surface (e.g., 112, 355, 504), and a rotatable inputmechanism (e.g., 506).

In FIG. 6A, user interface screen 602 displays an add contact affordance602A and a create message affordance 602B. User interface screen 602 maybe displayed, for example, when a user requests to create a newiMessage®, SMS message, electronic mail, or the like. The devicereceives a user input (e.g., user taps the add contact affordance 602A).In response to receiving the user input, the device identifies a mostrecently accessed user input technique of a set of user input techniques(e.g., the last input technique the user used when adding a new contact,which may be the user's preference, such as a recent contacts list). Insome examples, recently accessed means recently used to add a contactaddress to a message. In other examples, recently accessed meansrecently displayed on the display. By determining which user inputtechnique of various accessible user input techniques a user hasaccessed most recently, the device can make an educated determination asto what user input technique the user is likely to want to use again—themost recently accessed user input technique.

At user interface screen 606, the device displays a user input interfaceof the most recently accessed user input technique (e.g., the userinterface for selecting a contact). In this example, the most recentlyaccessed user input technique is the recent contacts functionality withaffordances 606C-606E. User interface screen 606 displays recentcontacts 606C-606E with which the user has had communication with (e.g.,send a message to or received a message from). Thus, because the userused the recent contacts functionality the previous time that the useradded a contact to a message (e.g., the most recently accessed userinput technique), the device displays the user interface correspondingto this functionality.

The device also identifies a least recently accessed user inputtechnique of the set of user input techniques (e.g., the technique theuser has not used in a while). In this example, the least recentlyaccessed user input technique is the dictation functionality. Forexample, this is the user input technique that the user does not favorand therefore rarely accesses. The device displays, on the display, afirst affordance associated with a user input interface of the leastrecently accessed user input technique (e.g., affordance 606B, that whenactivated, causes display of a user interface for the user inputtechnique least recently displayed). Thus, in this example, theaffordance at the bottom right of the display provides the user withaccess to the least recently accessed user input technique.

In accordance with some embodiments, the device identifies a second-mostrecently accessed user input technique of the set of user inputtechniques (e.g., the technique used prior to the currently displayedtechnique). The device displays a second affordance associated with auser input interface of the second-most recently accessed user inputtechnique (e.g., an affordance 606A, that when activated, causes displayof a user interface for the user input technique most recently displayedprior to the currently displayed user input technique). In userinterface screen 606, the affordance 606A displayed at the bottom leftof the display provides the user with access to the second-most recentlyaccessed user input technique, which is the all contacts functionality.

In accordance with some embodiments, the user input interface of themost recently accessed user input technique comprises a selectionaffordance associated with the most recently accessed user inputtechnique (e.g., an affordance 606C, 606D, 606E, for selecting contentfrom among a plurality of content or an affordance for starting and/orending an audio recording). At user interface screen 606, activating oneof affordance 606C-606E causes the device to add contact informationcorresponding to the activated affordance as a recipient to the newmessage. As will be understood, by providing affordances to communicatewith recent correspondents the device saves the user keystrokes thatmight otherwise be required to enter a name or navigate a contact list.Further, by providing a more efficient interface, the device canconserve power, for example, by activating the display for less time.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are differenttechniques of the set of user input techniques. In accordance with someembodiments, the most recently accessed user input technique, the leastrecently accessed user input technique, and the second-most recentlyaccessed user input technique are selected from the group comprising arecent contacts functionality, an all contacts functionality, and adictation functionality (e.g., the most recent user input technique is arecent contacts functionality, the least recent user input technique isa dictation functionality, the second-most recent user input techniqueis an all contacts functionality, as in user interface screen 606).

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are selected fromthe group comprising a suggested replies functionality, an emojifunctionality, and a dictation functionality (e.g., the most recent userinput technique is a suggested replies mode, the least recent user inputtechnique is an emoji mode, the second-most recent user input techniqueis a dictation mode).

In accordance with some embodiments, the set of user input techniques isa closed set of predetermined input techniques. In accordance with someembodiments, a quantity of user input techniques of the set of userinput techniques is predetermined. In accordance with some embodiments,the first affordance provides an indication of the least recentlyaccessed user input technique (e.g., the affordance 606B includes alabel of “Dictation,” in user interface screen 606). In accordance withsome embodiments, the second affordance provides an indication of thesecond-most recently accessed user input technique (e.g., the affordance606A includes a label of “Contacts,” in user interface screen 606).

In accordance with some embodiments, the first affordance (e.g., 606B),the second affordance (e.g., 606B), and the user input interface of themost recently accessed user input technique (e.g., 606C-606E) areconcurrently displayed. This allows the user to provide input using themost recently accessed user input technique, or quickly switch over tothe second-most recently accessed user input technique, or even switchover to the least recently accessed user input technique.

In accordance with some embodiments, the device receives user inputassociated with the first affordance (e.g., 606A) associated with theuser input interface of the least recently accessed user input technique(e.g., the user taps on (or otherwise activates) the first affordance).In response to receiving user input associated with the firstaffordance, the device replaces display of the user input interface ofthe most recently accessed user input technique with display of the userinput interface of the least recently accessed user input technique, asillustrated in user interface screen 610. Thus, at user interface screen606, affordance 606A, when activated, causes user interface screen 610to be displayed. Note that at user interface 610, the recent contactsfunctionality is now the second-most recently accessed technique, asillustrated by recent contacts affordance 610A at the bottom left of thedisplay. Similarly, the all contacts functionality is now the leastrecently accessed technique, and therefore the corresponding affordance(e.g., 610B) for the all contacts functionality is displayed at bottomright of user interface screen 610. The dictation functionality becomesthe most recently accessed technique, and therefore a user interface forthe dictation functionality is displayed (e.g., 610C and 610D).

Returning to user interface screen 606, in accordance with someembodiments, the device receives user input associated with the firstaffordance associated with the user input interface of the leastrecently accessed user input technique (e.g., the user taps on (orotherwise activates) the first affordance). In response to receivinguser input associated with the first affordance, the device replacesdisplay of the user input interface of the most recently accessed userinput technique with display of the user input interface of the leastrecently accessed user input technique, and the device replaces displayof the first affordance associated with the user input interface of theleast recently accessed user input technique with display of a thirdaffordance associated with the user input interface of the most recentlyaccessed user input technique, and the device replaces display of thesecond affordance associated with the user input interface of thesecond-most recently accessed user input technique with display of afourth affordance associated with the user input interface of the mostrecently accessed user input technique. Thus, the user interfacetransitions to the dictation functionality, and affordance 610corresponds to recent contacts functionality and affordance 610Bcorresponds to all contacts functionality.

Returning to user interface screen 606, if the user activates affordance606A corresponding to all contacts functionality, the device displaysuser interface screen 608. At user interface screen 608, the userinterface for the most recently accessed user input technique isdisplayed (e.g., 608C for all contacts functionality). Affordance 608Acorresponds to the second most recently accessed user input technique(e.g., recent contacts functionality) and affordance 608B corresponds tothe least recently accessed user input technique (e.g., dictationfunctionality).

At user interface screen 608, if the user activates affordance 608Ccorresponding to the Adam Smith contact, the device displays userinterface screen 616 of FIG. 6B. User interface screen 616 includes thecontact information associated with the Adam Smith contact. For example,user interface screen 616 includes an affordance 616A for a mobiletelephone number, affordance 616B for an electronic mail address, andaffordance 616C for a micro blogging handle. Activating any ofaffordances 616A-C causes the device to add the corresponding contactinformation as recipient information in an electronic message.Activation of return affordance 616D cause the device to replace displayof user interface screen 616 with user interface screen 608.

Returning to user interface screen 608, if the user activates affordance608B corresponding to dictation functionality, the device displays userinterface screen 614. At user interface screen 614, the user interfacefor the most recently accessed user input technique is displayed (e.g.,614C, 614D for dictation functionality). Affordance 614A corresponds tothe second most recently accessed user input technique (e.g., allcontacts functionality) and affordance 614B corresponds to the leastrecently accessed user input technique (e.g., recent contactsfunctionality).

At user interface screen 614, the device receives audio input. If theuser activates affordance 614C, the device displays user interfacescreen 620 of FIG. 6B. The device transcribes the received audio inputand displays all or a portion of the transcribed audio as affordance620A. In this example, the transcribed audio input is “555-5555.” Userinterface screen 620 includes an affordance 620B for contact informationfor Adam Smith, which corresponds to the transcribed audio, and anaffordance 620C for contact information for Emily Wong, which alsocorresponds to the transcribed audio. Activating any of affordances620A-C causes the device to add the corresponding contact information asrecipient information in an electronic message. Activation of returnaffordance 620D cause the device to replace display of user interfacescreen 616 with user interface screen 614.

Returning to user interface screen 610, if the user activates affordance610A corresponding to recent contacts functionality, the device displaysuser interface screen 612. At user interface screen 612, the userinterface for the most recently accessed user input technique isdisplayed (e.g., 614C for recent contacts functionality). Affordance612A corresponds to the second most recently accessed user inputtechnique (e.g., dictation functionality) and affordance 612Bcorresponds to the least recently accessed user input technique (e.g.,all contacts functionality). Note that user interface screen 612 differsfrom user interface screen 606 because of the path taken to accessinguser interface screen 612.

After (or before) a user adds contact information as recipients to anelectronic message (e.g., by activating affordance 602A of userinterface screen 602), the user may create the body of the electronicmessage (e.g., by activating the create message affordance 602B). Userinterface screen 622, which corresponds to user interface screen 602,includes a create message affordance 622A. At user interface screen 622,if the user activates affordance 622A, the device displays userinterface screen 626 of FIG. 6C.

At user interface screen 626, the user interface for the most recentlyaccessed user input technique is displayed (e.g., 626C-626E forsuggested replies functionality). Affordance 626A corresponds to thesecond most recently accessed user input technique (e.g., emojifunctionality) and affordance 626B corresponds to the least recentlyaccessed user input technique (e.g., dictation functionality).

Different techniques may be used to produce suggested replies (alsoknown as “suggested responses”). In one example, the device determineswhether a received message contains an interrogatory. This determinationmay be based on the determination that the received message contains theverbiage “are you” at the beginning of the received message and aquestion mark at the end of the received message. Based on determiningthat the received message contains an interrogatory, the one or moresuggested responses may include “yes,” “no,” and “maybe.”

In another example, the received message may state “beef or chicken?” Asbefore, the device may determine that the message contains aninterrogatory (based on at least the use of the question mark in themessage). In addition, the device may recognize the interrogatory is onethat contains alternative choices, based on the appearance of the word“or” in the received message. In this case, the device may parse thewords immediately before and after the word “or”. Accordingly, the oneor more suggested responses may include “beef” and “chicken”.

Techniques for determining suggested replies may be found, for example,in related U.S. Provisional Patent Application Ser. No. 62/005,958,entitled “Canned Answers in Messages,” filed May 30, 2014, the entiredisclosure of which is incorporated herein by reference.

At user interface screen 626, the device receives user activation of oneof the affordances 626C-626E. In accordance with receiving the useractivation, the device adds the corresponding suggested reply to thebody of the electronic message (e.g., the content of an SMS or the bodyof an electronic mail message). As will be understood, by providingaffordances to add suggested responses the device saves the userkeystrokes that might otherwise be required to enter a name or navigatea contact list. Further, by providing a more efficient interface, thedevice can conserve power, for example, by activating the display forless time.

Returning to user interface screen 626, if the user activates affordance626A corresponding to emoji functionality, the device displays userinterface screen 628. At user interface screen 628, the user interfacefor the most recently accessed user input technique is displayed (e.g.,628C, 628D, 628E for emoji functionality). Affordance 628A correspondsto the second most recently accessed user input technique (e.g., suggestreplies functionality) and affordance 628B corresponds to the leastrecently accessed user input technique (e.g., dictation functionality).

At user interface screen 628, if the user activates affordance 628Bcorresponding to dictation functionality, the device displays userinterface screen 634. At user interface screen 634, the user interfacefor the most recently accessed user input technique is displayed (e.g.,634C, 634D for dictation functionality). Affordance 634A corresponds tothe second most recently accessed user input technique (e.g., emojifunctionality) and affordance 634B corresponds to the least recentlyaccessed user input technique (e.g., suggested replies functionality).

At user interface screen 634, the device receives audio input. If theuser activates affordance 634C, the device displays user interfacescreen 636 of FIG. 6D. The device transcribes the received audio input.The device displays a text affordance 636A and an audio affordance 636B.The text affordance 636A, when activated, causes the device to add thetranscribed audio input to the body of the electronic message. The audioaffordance 636B, when activated, causes the device to add the receivedaudio input as the body of the electronic message (e.g., as an audiofile). The device receives a scroll input and the display user interface636 scrolls, as shown in user interface screen 638. At user interfacescreen 638, the device displays the transcribed audio input 636A and anaffordance 638B for playing back the record received audio input. Thisallows the user to see the transcribed text for accuracy and make adetermination as to whether the transcribed text or the audio recordingshould be sent to recipients of the electronic message.

Returning to user interface screen 626, if the user activates affordance626B corresponding to dictation functionality, the device displays userinterface screen 632. At user interface screen 632, the user interfacefor the most recently accessed user input technique is displayed (e.g.,632C, 632D for dictation functionality). Affordance 632A corresponds tothe second most recently accessed user input technique (e.g., suggestreplies functionality) and affordance 632B corresponds to the leastrecently accessed user input technique (e.g., emoji functionality). Notethat user interface screen 632 differs from user interface screen 634because of the path taken to accessing the two user interfaces.

At user interface 632, if the user activates affordance 632Acorresponding to suggested replies functionality, the device displaysuser interface screen 630. At user interface screen 630, the userinterface for the most recently accessed user input technique isdisplayed (e.g., 630C-630E for suggested replies functionality).Affordance 630A corresponds to the second most recently accessed userinput technique (e.g., dictation functionality) and affordance 630Bcorresponds to the least recently accessed user input technique (e.g.,emoji functionality). Note that user interface screen 630 differs fromuser interface screen 626 because of the path taken to access userinterface screen 630.

Transcribing the received audio input (e.g., speech) can be done severalways, including: (1) locally, by the electronic device, (2) remotely,where the electronic device transmits (e.g., via WiFi or Bluetooth) theuser input representing speech (or data that is based on the user inputrepresenting speech) to an external device (e.g., a cellular phone orlaptop), the external device locally transcribes the user input, and theelectronic device receives the transcribed speech from the externaldevice, (3) remotely, where the electronic device transmits (e.g., viaWiFi or Bluetooth) the user input representing speech (or data that isbased on the user input representing speech) to a server (e.g., a serverconnected over the Internet), the server transcribes the user input, andthe electronic device receives the transcribed speech from the server(e.g., via WiFi or Bluetooth), or (4) remotely, where the electronicdevice transmits (e.g., via WiFi or Bluetooth) the user inputrepresenting speech (or data that is based on the user inputrepresenting speech) to an external device (e.g., a cellular phone orlaptop), the external device transmits the user input to a server, theserver transcribes the user input, the external device receives thetranscribed speech from the server, and the electronic device receivesthe transcribed speech from the external device. The device adds thetranscribed speech as response information for the electronicconversation. For example, the transcription can be performed usingspeech-to-text and/or automatic speech recognition using a virtualassistant. At user interface screen 646, the conversation 646A has beenupdated to reflect the addition of “Sure! I'll sent it soon.” in thefield 646B. Thus, the user can provide audio input to enter responseinformation for an electronic conversation. Send affordance 646C, whenenabled and activated, causes the response information (e.g., thetranscribed speech) to be transmitted to the recipient(s) of theconversation. Once the reply is sent, a notification 648 indicating thatthe reply has been sent is displayed.

An example of a virtual assistant is described in Applicants' U.S.Utility application Ser. No. 12/987,982 for “Intelligent AutomatedAssistant,” filed Jan. 10, 2011, the entire disclosure of which isincorporated herein by reference.

FIG. 7 is a flow diagram illustrating method 700 for receiving userinput in accordance with some embodiments. In some embodiments, method700 may be performed at an electronic device with a display (e.g., 112,340, 504), a touch-sensitive surface (e.g., 112, 355, 504), and arotatable input mechanism (e.g., 506). Some operations in method 700 maybe combined, the order of some operations may be changed, and someoperations may be omitted.

In some embodiments, the touch-sensitive surface (e.g., 112, 355, 504)is capable of detecting intensity of touch contacts. In someembodiments, method 700 may be performed at an electronic device with adisplay and a touch-sensitive surface (e.g., 112, 355, 504) that is ableto determine a substitute (proxy) for the force or pressure of a contacton the touch-sensitive surface. Exemplary devices that may performmethod 700 include devices 100, 300, and 500 (FIGS. 1A, 3, and 5A).

Method 700 provides an intuitive way to receive user input. The methodreduces the cognitive burden on a user when entering information using adevice, thereby creating a more efficient human-machine interface. Forbattery-operated computing devices, enabling a user to enter informationfaster and more efficiently conserves power and increases the timebetween battery charges.

At block 702, a user input is received. At block 704, in response toreceiving the user input, blocks 706-712 are performed. At block 706, amost recently accessed user input technique of a set of user inputtechniques is identified. At block 708, a least recently accessed userinput technique of the set of user input techniques is identified. Atblock 710, a user input interface of the most recently accessed userinput technique is displayed on the display. At block 712, a firstaffordance associated with a user input interface of the least recentlyaccessed user input technique is displayed on the display.

In accordance with some embodiments, the user input interface of themost recently accessed user input technique comprises a selectionaffordance (e.g., 606C, 626C) associated with the most recently accesseduser input technique.

In accordance with some embodiments, in response to receiving the userinput, a second-most recently accessed user input technique of the setof user input techniques is identified, and a second affordanceassociated with a user input interface of the second-most recentlyaccessed user input technique is displayed on the display.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are differenttechniques of the set of user input techniques.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are selected fromthe group comprising a recent contacts functionality, an all contactsfunctionality, and a dictation functionality.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are selected fromthe group comprising a suggested replies functionality, an emojifunctionality, and a dictation functionality.

In accordance with some embodiments, the set of user input techniques isa closed set of predetermined input techniques. In accordance with someembodiments, a quantity of user input techniques of the set of userinput techniques is predetermined. In accordance with some embodiments,the first affordance provides an indication of the least recentlyaccessed user input technique. In accordance with some embodiments, thesecond affordance provides an indication of the second-most recentlyaccessed user input technique. In accordance with some embodiments, thefirst affordance, the second affordance, and the user input interface ofthe most recently accessed user input technique are concurrentlydisplayed.

In accordance with some embodiments, user input associated with thefirst affordance associated with the user input interface of the leastrecently accessed user input technique is received. In response toreceiving user input associated with the first affordance, display ofthe user input interface of the most recently accessed user inputtechnique is replaced with display of the user input interface of theleast recently accessed user input technique.

In accordance with some embodiments, user input associated with thefirst affordance associated with the user input interface of the leastrecently accessed user input technique is received. In response toreceiving user input associated with the first affordance: display ofthe user input interface of the most recently accessed user inputtechnique is replaced with display of the user input interface of theleast recently accessed user input technique; display of the firstaffordance associated with the user input interface of the leastrecently accessed user input technique is replaced with display of athird affordance associated with the user input interface of the mostrecently accessed user input technique; and display of the secondaffordance associated with the user input interface of the second-mostrecently accessed user input technique is replaced with display of afourth affordance associated with the user input interface of the mostrecently accessed user input technique.

Note that details of the processes described above with respect tomethod 700 (FIG. 7) are also applicable in an analogous manner to themethods described below. For example, method 900 (FIG. 9), method 1000(FIG. 10), method 1200 (FIG. 12), method 1400 (FIG. 14A), method 1420(FIG. 14B), and method 1600 (FIG. 16) may include one or more of thecharacteristics of the various methods described above with reference tomethod 700. For brevity, these details are not repeated below.

It should be understood that the particular order in which theoperations in FIG. 7 have been described is exemplary and not intendedto indicate that the described order is the only order in which theoperations could be performed. One of ordinary skill in the art wouldrecognize various ways to reorder the operations described herein, aswell as excluding certain operations. For brevity, these details are notrepeated here. Additionally, it should be noted that aspects of method700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method 1200(FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 700 may be relevant tomethod 900 (FIG. 9), method 1000 (FIG. 10), method 1200 (FIG. 12),method 1400 (FIG. 14A), method 1420 (FIG. 14B), method 1600 (FIG. 16).

FIG. 8 illustrates exemplary user interfaces for receiving user inputassociated with a scrollable list in accordance with some embodiments.In some embodiments, the electronic device is device 500. The electronicdevice has a display (e.g., 112, 340, 504). The electronic device mayalso include a touch-sensitive surface (e.g., 112, 355, 504) and arotatable input mechanism (e.g., 506). Under certain conditions, it maybe difficult for a user to quickly and efficiently determine thescrolling progress made when the user scrolls through a list of items ona display. Thus, it may be helpful to display an index object, whichprovides an indication of the scrolling progress.

At user interface 802, a portion of a set of information is displayed(e.g., a portion of a list of contacts; 802A and other names). In thisexample, the elements of the set of information (e.g., the contacts inthe list of contacts) are in alphabetical order, with “Adam Smith” 802Adisplayed at the top of the set of information. The device receives userinput associated with the set of information (e.g., the user performs afinger swipe on the displayed set of information, the user turns arotatable input mechanism, or the user swipes upward or downward alongindex bar 802B.). In response to receiving the user input associatedwith the set of information, the device scrolls the set of informationon the display. The device determines whether a scroll attribute (e.g.,the speed, acceleration, duration of the scroll; the speed,acceleration, duration of the user input) satisfies a threshold criteria(e.g., scrolling is above a threshold scrolling speed, acceleration isabove a threshold acceleration, scroll duration is longer than athreshold scroll duration; user input is above a threshold speed orthreshold acceleration, user input duration is longer than a thresholdduration), In accordance with a determination that the scroll attributesatisfies the threshold criteria (e.g., the scrolling is above thethreshold scrolling speed, the user input is above the threshold speed),the device displays an index object 804A, as illustrated in userinterface screen 804.

In accordance with some embodiments, the index object 804A fully orpartially overlays at least a portion of the set of information, asillustrated in user interface screen 804. By overlaying the portion ofthe set of information, does user does not need to direct theirattention to a different portion of the display to see the index object804A. Thus, a user that is watching the set of information scroll on thedisplay can easily see index object 804A when it is displayed as anoverlay.

In accordance with some embodiments, the scroll attribute is anattribute of scrolling (e.g., the speed, acceleration, duration of thescroll) of the set of information. Thus, for example, index object 804Ais displayed when the set of information exceeds a particular scrollingspeed. In accordance with some embodiments, the scroll attribute is anattribute (e.g., the speed, acceleration, duration of the scroll) of theuser input. Thus, for example, index object 804A is displayed when theuser input exceeds a particular speed, such as an upward swipe thatexceeds a particular speed or a rotation of the rotatable inputmechanism that exceeds a particular rotation speed. Similarly, in someembodiments, the threshold criteria is based on one or more of exceedinga threshold speed, exceeding a threshold velocity, and exceeding athreshold duration.

In accordance with some embodiments, the electronic device includes atouch-sensitive surface, and the user input is a swipe touch on thetouch-sensitive surface (e.g., a vertical swipe or flick on the set ofinformation to scroll the set of information). In accordance with someembodiments, the electronic device includes a rotatable input mechanism,and the user input is a rotation of the rotatable input mechanism (e.g.,the user rotates the rotatable input mechanism to scroll the list ofinformation).

In some embodiments, in accordance with a determination that the scrollattribute does not satisfy the threshold criteria, the device does notdisplay (or stops displaying) the index object (e.g., 804A, 806A) fullyor partially overlaying the set of information. Thus, when the userprovides input to scroll the set of information, the index object maynot appear if, for example, the scroll speed does not exceed a thresholdscroll speed. Similarly, when the index object is being displayed, thedevice may stop displaying the index object when the scroll speed nolonger exceeds the threshold scroll speed. For example, in userinterface 806, as the scroll speed of the set of information reduces,the device may stop displaying index object 806A, as illustrated in userinterface screen 810. In some examples, the set of information maycontinue to scroll, though the index object 806A is no longer displayed,when the scroll attribute no longer satisfies the threshold criteria. Insome example, the threshold criteria (e.g., a first threshold scrollspeed) for displaying the index object may be different than thethreshold criteria (e.g., a second threshold scroll speed) for stoppingdisplay of the index object.

In accordance with some embodiments, the index object 804A, 806Acomprises an index (e.g., a single alphabetical character or a singlenumeric character; “H” in 804A, “J” in 806A) based on one or morecurrently displayed information of the set of information (e.g., basedon the character position used for alphabetically sorting the set ofinformation; the first letter of the first names in user interfacescreen 804, “H”). Thus, the index indicates to the user what portion ofthe set of information is currently being displayed.

In accordance with some embodiments, the device determines whether anindex update attribute of the set of information satisfies an overlayupdate criteria (e.g., has an item in the set of information reached athreshold location on the display). For example, the device maydetermine whether a first name with a first letter different than theletter currently displayed in the index has exceeded a threshold(overlay update criteria). In user interface 804, the index updateattribute is the vertical location of the top “H” name 804C. Because thename 804C has reached the threshold location (displayed for explanationpurposes only, not a part of the user interface), the device determinesthat the overlay update criteria is satisfied (e.g., location of thelist has sufficiently changed to necessitate an update in the index). Inaccordance with a determination that the index update attribute of theset of information satisfies the index update criteria, the deviceupdates display of a visual aspect of the index object (e.g., updatingthe index object to reflect the letter corresponding to the portion ofthe list being displayed). Thus, as the set of information scrolls, thedevice updates the displayed letter/character of the index object (e.g.,804A “H” updated to 806A “J”) to reflect the position of the set ofinformation (e.g., transition from “H” names in 804 to “J” names in806).

In accordance with some embodiments, the set of information is collated(e.g., all the “A” names are together, all the “B” names are together,etc.). In accordance with some embodiments, the set of information isdisplayed in alphabetical order (or reverse alphabetical order, ornumeric order).

In accordance with some embodiments, the user input associated with theset of information comprises a first direction (e.g., upward or downwardswipe on the touch-sensitive surface, clockwise rotation orcounter-clockwise rotation of the rotatable input mechanism), andscrolling at least a portion of the set of information on the displaycomprises scrolling at least a portion of the set of information on thedisplay in a second direction. The second direction is based on thefirst direction. Thus, the set of information scrolls in a directionrequested by the user.

These techniques for displaying an index object may be used for varioussoftware applications and for various types of sets of information. Inaccordance with some embodiments, the set of information comprises aplurality of contacts (e.g., names, email addresses, and/or telephonenumbers). In accordance with some embodiments, the set of informationcomprises a list of contacts (e.g., names, email addresses, and/ortelephone numbers). In accordance with some embodiments, the set ofinformation comprises a plurality (or list) of media attributes (e.g.,the names of songs, audio recordings, videos, books, newspaper articles,websites, and/or email subjects; the artist of songs, audio recordings,and/or videos; the authors of books, newspaper articles, websites,and/or email).

FIG. 9 is a flow diagram illustrating method 900 for receiving userinput associated with a scrollable list in accordance with someembodiments. In some embodiments, method 900 may be performed at anelectronic device with a display (e.g., 112, 340, 504). The electronicdevice may also include a touch-sensitive surface (e.g., 112, 355, 504)and a rotatable input mechanism (e.g., 506). In some embodiments, thetouch-sensitive surface (e.g., 112, 355, 504) is capable of detectingintensity of touch contacts. In some embodiments, method 900 may beperformed at an electronic device with a touch-sensitive surface (e.g.,112, 355, 504) that is able to determine a substitute (proxy) for theforce or pressure of a contact on the touch-sensitive surface. Exemplarydevices that may perform method 900 include devices 100, 300, and 500(FIGS. 1A, 3, and 5A). Some operations in method 900 may be combined,the order of some operations may be changed, and some operations may beomitted.

Under certain conditions, it may be difficult for a user to quickly andefficiently determine the scrolling progress made when the user scrollsthrough a list of items on a display. Thus, it may be helpful to displayan index object, which provides an indication of the scrolling progress.Method 900 provides an intuitive way to scroll through a list based onuser input. The method reduces the cognitive burden on a user whenscrolling through a list using a device, thereby creating a moreefficient human-machine interface. For battery-operated computingdevices, enabling a user to scroll information faster and moreefficiently conserves power and increases the time between batterycharges.

At block 902, a portion of a set of information is displayed (e.g., 802Aand other names of user interface 802).

At block 904, user input associated with the set of information isreceived (e.g., user swipes on the displayed set or user turns arotatable input mechanism).

At block 906, in response to receiving the user input associated withthe set of information, the set of information is scrolled on thedisplay.

At block 908, it is determined whether a scroll attribute (e.g., thespeed, acceleration, duration of the scroll; the speed, acceleration,duration of the user input) satisfies a threshold criteria (e.g.,scrolling is above a threshold scrolling speed, acceleration is above athreshold acceleration, scroll duration is longer than a thresholdscroll duration; user input is above a threshold speed or thresholdacceleration, user input duration is longer than a threshold duration).

At block 910, in accordance with a determination that the scrollattribute satisfies the threshold criteria (e.g., the scrolling is fast,the user input is fast), an index object (e.g., 804A, 806A) isdisplayed.

In accordance with some embodiments, the index object (e.g., 804A, 806A)fully or partially overlays at least a portion of the set ofinformation. In accordance with some embodiments, the scroll attributeis an attribute of scrolling (e.g., the speed, acceleration, duration ofthe scroll) of the set of information. In accordance with someembodiments, the scroll attribute is an attribute (e.g., the speed,acceleration, duration of the scroll) of the user input. In accordancewith some embodiments, the threshold criteria is based on one or more ofexceeding a threshold speed, exceeding a threshold velocity, andexceeding a threshold duration.

In accordance with some embodiments, at the electronic device with atouch-sensitive surface, the user input is a swipe contact touch on thetouch-sensitive surface (e.g., a vertical swipe on the set ofinformation to scroll the set of information). In accordance with someembodiments, at the electronic device with a rotatable input mechanism,the user input is a rotation of the rotatable input mechanism (e.g., theuser rotates the rotatable input mechanism to scroll the list ofinformation).

In accordance with some embodiments, at block 914, in accordance with adetermination that the scroll attribute does not satisfy the thresholdcriteria, the index object (e.g., 804A, 806A) fully or partiallyoverlaying the set of information is not displayed (or stops beingdisplayed; e.g., as illustrated in 810).

In accordance with some embodiments, the index object (e.g., 804A, 806A)comprises an index (e.g., a single alphabetical character or a singlenumeric character) based on one or more currently displayed informationof the set of information (e.g., based on the character positon used foralphabetically sorting the set of information).

In accordance with some embodiments, it is determined whether an indexupdate attribute of the set of information (e.g., position of 804C)satisfies an overlay update criteria (e.g., has an item in the set ofinformation reached a threshold location 804B on the display). Inaccordance with a determination that the index update attribute of theset of information satisfies the index update criteria, display of avisual aspect of the index object is updated (e.g., updating the indexobject 804A/806A to reflect the letter corresponding to the portion ofthe list being displayed).

In accordance with some embodiments, the set of information is collated.In accordance with some embodiments, the set of information is displayedin alphabetical order.

In accordance with some embodiments, the user input associated with theset of information comprises a first direction (e.g., upward or downwardswipe on the touch-sensitive surface, clockwise rotation orcounter-clockwise rotation of the rotatable input mechanism), andscrolling at least a portion of the set of information on the displaycomprises scrolling at least a portion of the set of information on thedisplay in a second direction, where the second direction is based onthe first direction.

In accordance with some embodiments, the set of information comprises aplurality of contacts (e.g., names, email addresses, and/or telephonenumbers). In accordance with some embodiments, the set of informationcomprises a list of contacts (e.g., names, email addresses, and/ortelephone numbers). In accordance with some embodiments, the set ofinformation comprises a plurality (or list) of media attributes (e.g.,the names of songs, audio recordings, videos, books, newspaper articles,websites, and/or email subjects; the artist of songs, audio recordings,and/or videos; the authors of books, newspaper articles, websites,and/or email).

Note that details of the processes described above with respect tomethod 900 (FIG. 9) are also applicable in an analogous manner to themethods described above and below. For example, method 700 (FIG. 7),method 1000 (FIG. 10), method 1200 (FIG. 12), method 1400 (FIG. 14A),method 1420 (FIG. 14B), and method 1600 (FIG. 16) may include one ormore of the characteristics of the various methods described above withreference to method 900. For brevity, these details are not repeatedbelow.

It should be understood that the particular order in which theoperations in FIG. 9 have been described is exemplary and not intendedto indicate that the described order is the only order in which theoperations could be performed. One of ordinary skill in the art wouldrecognize various ways to reorder the operations described herein, aswell as excluding certain operations. For brevity, these details are notrepeated here. Additionally, it should be noted that aspects of method700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method 1200(FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 900 may be relevant tomethod 700 (FIG. 7), method 1000 (FIG. 10), method 1200 (FIG. 12),method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method 1600 (FIG.16).

FIG. 10 is a flow diagram illustrating method 1000 for receiving userinput associated with a scrollable list in accordance with someembodiments. In some embodiments, method 1000 may be performed at anelectronic device with a display (e.g., 112, 340, 504). The electronicdevice may also include a touch-sensitive surface (e.g., 112, 355, 504)and a rotatable input mechanism (e.g., 506). In some embodiments, thetouch-sensitive surface (e.g., 112, 355, 504) is capable of detectingintensity of touch contacts. In some embodiments, method 900 may beperformed at an electronic device with a display and a touch-sensitivesurface (e.g., 112, 355, 504) that is able to determine a substitute(proxy) for the force or pressure of a contact on the touch-sensitivesurface. Exemplary devices that may perform method 1000 include devices100, 300, and 500 (FIGS. 1A, 3, and 5A). Some operations in method 1000may be combined, the order of some operations may be changed, and someoperations may be omitted.

Under certain conditions, it may be difficult for a user to quickly andefficiently determine the scrolling progress made when the user scrollsthrough a list of items on a display. Thus, it may be helpful to displayan index object, which provides an indication of the scrolling progress.Method 1000 provides an intuitive way to scroll through a list based onuser input. The method reduces the cognitive burden on a user whenscrolling through a list using a device, thereby creating a moreefficient human-machine interface. For battery-operated computingdevices, enabling a user to scroll information faster and moreefficiently conserves power and increases the time between batterycharges.

At block 1002, a portion of a set of information is displayed (e.g.,802A and other names of user interface 802).

At block 1004, user input associated with the set of information isreceived (e.g., user swipes on the displayed set or user turns arotatable input mechanism).

At block 1006, in response to receiving the user input associated withthe set of information, the set of information is scrolled on thedisplay.

At block 1008, it is determined whether a scroll attribute (e.g., thespeed, acceleration, duration of the scroll; the speed, acceleration,duration of the user input) satisfies a threshold criteria (e.g.,scrolling is above a threshold scrolling speed, acceleration is above athreshold acceleration, scroll duration is longer than a thresholdscroll duration; user input is above a threshold speed or thresholdacceleration, user input duration is longer than a threshold duration).

At block 1010, in accordance with a determination that the scrollattribute satisfies the threshold criteria (e.g., the scrolling is fast,the user input is fast), an index object (e.g., 804A, 806A) isdisplayed.

Optionally, at block 1012, in some embodiments, in accordance with adetermination that the scroll attribute does not satisfy the thresholdcriteria (e.g., the scrolling is slow, the user input is slow), theindex object is not displayed (e.g., is not displayed or stops beingdisplayed).

The determination at block 1008 may then be repeated.

Note that details of the processes described above with respect tomethod 1000 (FIG. 10) are also applicable in an analogous manner to themethods described above and below. For example, method 700 (FIG. 7),method 900 (FIG. 9), method 1200 (FIG. 12), method 1400 (FIG. 14A),method 1420 (FIG. 14B), and method 1600 (FIG. 16) may include one ormore of the characteristics of the various methods described above withreference to method 1000. For brevity, these details are not repeatedbelow.

It should be understood that the particular order in which theoperations in FIG. 10 have been described is exemplary and not intendedto indicate that the described order is the only order in which theoperations could be performed. One of ordinary skill in the art wouldrecognize various ways to reorder the operations described herein, aswell as excluding certain operations. For brevity, these details are notrepeated here. Additionally, it should be noted that aspects of method700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method 1200(FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 1000 may be relevant tomethod 700 (FIG. 7), method 900 (FIG. 9), method 1200 (FIG. 12), method1400 (FIG. 14A), method 1420 (FIG. 14B), and method 1600 (FIG. 16).

FIG. 11 illustrates exemplary user interfaces for manipulating an emojiprior to sending the emoji to a recipient in accordance with someembodiments. In some embodiments, the electronic device is device 500.The electronic device has a display (e.g., 112, 340, 504). Theelectronic device may also include a touch-sensitive surface (e.g., 112,355, 504) and a rotatable input mechanism (e.g., 506). A user may wishto express an emotion or provide a simple message (e.g., I'm happy orunhappy, yes or no) to a recipient. It may be difficult for the user toquickly and efficiently provide textual information to express theemotion or provide the message. Thus, it may be helpful to display aninteractive emoji, which the user can manipulate to express the emotionor message. The manipulated emoji may then be sent to a recipient.

The device receives a user input. The user input may be associated witha messaging input interface. In response to receiving the user input,the device displays an emoji graphical object (e.g., 1100A), asillustrated in user interface screen 1100. The emoji graphical object1100A includes several visual aspects, such as eyebrows, a right eye, aleft eye 1100B, and a mouth 1100C.

At user interface 1100, the device receives a first user inputassociated with the emoji graphical object. For example, the devicereceives a swipe on the touch-sensitive surface or a rotation of therotatable input mechanism. In the example of user interface 1100, thedevice receives a swipe down gesture on the left eye 1100B. In responseto receiving the first user input associated with the emoji graphicalobject (e.g., the swipe down gesture on the left eye 1100B), the devicechanges a first visual aspect of the emoji graphical object. The changein the first visual aspect is based on the first user input (e.g., theswipe down gesture on the left eye 1100B causes the left eye to close orenter a winking state, as illustrated in user interface screen 1102).Thus, the user input on the left eye 1100B causes the left eye of emojigraphical object 1102A to become a closed or winking eye 1102B, asillustrated in user interface screen 1102.

In some embodiments, a touch gesture on the display may be used tochange a particular visual aspect of the emoji graphical object. Forexample, when the device receives a smile touch gesture (e.g., a touchgesture in a “U” shape) at user interface screen 1100, the devicechanges the mouth 1100C of the emoji graphical object to indicate asmile. When the device receives a frown touch gesture (e.g., a touchgesture in an upside-down “U” shape), the device changes the mouth 1100Cof the emoji graphical object to indicate a frown. The smile touchgesture and the frown touch gesture do not need to be at the location ofthe mouth 1100C. This allows the user to quickly modify a visual aspectof the emoji graphical object without requiring a high degree ofprecision of the location of the touch gesture. As will be understood,other gestures, such as tapping, may be used to change the emojielements. For example, repeatedly tapping the same element can change itthrough various states.

The device receives recipient information (e.g., the user enters anemail or iMessage® recipient). Once the user has manipulated the emojigraphical object to their liking and has provided the recipientinformation, the user can request that the emoji graphical object besent to a recipient. The device transmits the emoji graphical object,including the changed first visual aspect, to a recipient associatedwith the received recipient information (e.g., send the altered emoji asa message).

In accordance with some embodiments, the device receives a second userinput associated with the emoji graphical object (e.g., swipe/drag onthe touch-sensitive surface or rotation of a rotatable input mechanism).In response to receiving the second user input associated with the emojigraphical object, the device changes (e.g. by animating the change) asecond visual aspect of the emoji graphical object. The change in thesecond visual aspect is based on the second user input (e.g., a swipe upon a corner of a smiley's mouth make the smiley more happy). Inaccordance with some embodiments, the first visual aspect and the secondvisual aspect are different.

For example, at user interface screen 1104, a swipe up on a smiley'smouth 1104B (or a corner of a smiley's mouth) may make the smiley 1104Aappear happier, as illustrated by mouth 1106C of user interface screen1106. Note that the closed/winking eye 1106B of smiley 1106A persists,meaning that multiple visual aspects can be changed. Similarly, a swipedown on the mouth may make the smiley appear sadder. In some examples,different degrees of an up or down swipe cause the emoji graphicalobject to have correspondingly different degrees of a happy or sadmouth. Thus, the user can manipulate different visual aspects of theemoji graphical object by providing user input, prior to sending theemoji graphical object to the recipient.

In accordance with some embodiments, the electronic device includes atouch-sensitive surface, and the first user input associated with theemoji graphical object comprises a touch gesture at a location on thetouch-sensitive surface associated with the first visual aspect of theemoji graphical object (e.g., the user performs a drag, swipe, or tap onthe eye of the emoji).

In accordance with some embodiments, the electronic device includes atouch-sensitive surface configured to detect intensity of touches. Thefirst user input associated with the emoji graphical object comprises atouch gesture having a characteristic intensity (e.g., the user tap hasan intensity; hard press, light touch or a resting contact). In responseto receiving the first user input and in accordance with a determinationthat the characteristic intensity exceeds an intensity threshold (e.g.,the touch gesture is a hard press), the device changes the first visualaspect of the emoji graphical object comprises changing a first featureof the emoji graphical object (e.g., changing the size or color of theemoji).

In accordance with some embodiments, in response to receiving the firstuser input and in accordance with a determination that thecharacteristic intensity does not exceed the intensity threshold (e.g.,the touch gesture is not a hard press), changing the first visual aspectof the emoji graphical object comprises changing a second feature of theemoji graphical object different than the first feature (e.g., changingthe expression or orientation of the emoji). Thus, a touch gesture canchange different features of the emoji graphical object based on thecharacteristic intensity of the touch.

In accordance with some embodiments, the electronic device includes arotatable input mechanism. The first user input associated with theemoji graphical object comprises a rotation of the rotatable inputmechanism (e.g., rotates the rotatable input mechanism to change theshape of the eye).

In accordance with some embodiments, at the electronic device includes atouch-sensitive surface and a rotatable input mechanism. The first userinput associated with the emoji graphical object comprises a touchgesture at a location on the touch-sensitive surface associated with thefirst visual aspect of the emoji graphical object and a rotation of therotatable input mechanism (e.g., the user taps or taps and holds on theeye of the emoji to identify the feature to change and rotates therotatable input mechanism to cause the change of the identifiedfeature).

In accordance with some embodiments, transmitting the emoji graphicalobject comprises transmitting the emoji graphical object in response toreceiving a third user input associated with a selection affordance(e.g., the third user input, when activated, causes the emoji to besent).

In accordance with some embodiments, prior to transmitting the emojigraphical object, the device adds the emoji graphical object to amessage body in response to receiving a fourth user input (e.g., thefourth user input is associated with a selection affordance 1104D, whichwhen activated, causes the emoji to be added to the body of a textmessage or email message).

In accordance with some embodiments, the emoji graphical object is ananimated emoji graphical object (e.g., the emoji winks and/or the tongueof the emoji flops around). In accordance with some embodiments,changing the first visual aspect of the emoji graphical object comprisesanimating a change in the first visual aspect of the emoji graphicalobject (e.g., a swipe up on a corner of a smiley's mouth causes themouth to get bigger/more happy). In some embodiments, the transmittedemoji can include additional information, such as the order in which theelements were changed, so that the emoji may be animated in the samefashion at the recipient device.

FIG. 12 is a flow diagram illustrating method 1200 for manipulating anemoji prior to sending the emoji to a recipient in accordance with someembodiments. In some embodiments, method 1200 may be performed at anelectronic device with a display (e.g., 112, 340, 504). The electronicdevice may also include a touch-sensitive surface (e.g., 112, 355, 504)and a rotatable input mechanism (e.g., 506). In some embodiments, thetouch-sensitive surface (e.g., 112, 355, 504) is capable of detectingintensity of touch contacts. In some embodiments, method 1200 may beperformed at an electronic device with a touch-sensitive surface (e.g.,112, 355, 504) that is able to determine a substitute (proxy) for theforce or pressure of a contact on the touch-sensitive surface. Exemplarydevices that may perform method 1200 include devices 100, 300, and 500(FIGS. 1A, 3, and 5A). Some operations in method 1200 may be combined,the order of some operations may be changed, and some operations may beomitted.

A user may wish to express an emotion or provide a simple message (e.g.,I'm happy or unhappy, yes or no) to a recipient. It may be difficult forthe user to quickly and efficiently provide textual information toexpress the emotion or provide the message. Thus, it may be helpful todisplay an interactive emoji, which the user can manipulate to expressthe emotion or message. The manipulated emoji may then be sent to arecipient. Method 1200 provides an intuitive way to manipulate the emojibased on user input. The method reduces the cognitive burden on a userpreparing a message using a device, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to prepare a message faster and more efficientlyconserves power and increases the time between battery charges.

At block 1202, a user input is received. At block 1204, in response toreceiving the user input, an emoji graphical object (e.g., 1100A) isdisplayed. At block 1206, a first user input associated with the emojigraphical object (e.g., 1100A) is received.

At block 1208, in response to receiving the first user input associatedwith the emoji graphical object (e.g., 1100A), a first visual aspect(e.g., 1102B) of the emoji graphical object (e.g., 1102A) is changed.The change in the first visual aspect (e.g., 1102B) is based on thefirst user input.

At block 1210, recipient information is received. At block 1212, theemoji graphical object is transmitted, including the changed firstvisual aspect (e.g., 1102B), to a recipient associated with the receivedrecipient information.

In accordance with some embodiments, a second user input associated withthe emoji graphical object (e.g., 1104A) is received (e.g., swipe/dragon the touch-sensitive surface or rotation of a rotatable inputmechanism). In response to receiving the second user input associatedwith the emoji graphical object (e.g., 1104A), a second visual aspect(e.g., 1104B) of the emoji graphical object is changed (e.g., 1106C).The change in the second visual aspect (e.g., 1106C) is based on thesecond user input (e.g., a swipe up on a corner of a smiley's mouth makethe smiley more happy). In accordance with some embodiments, the firstvisual aspect (e.g., 1100B, 1102B, 1106B) and the second visual aspect(e.g., 1100C, 1104B, 1106C) are different.

In accordance with some embodiments, at the electronic device with atouch-sensitive surface, the first user input associated with the emojigraphical object (e.g., 1100A) comprises a touch gesture at a locationon the touch-sensitive surface associated with the first visual aspect(e.g., 1100B) of the emoji graphical object (e.g., the user performs adrag, swipe, or tap on the eye of the emoji).

In accordance with some embodiments, at the electronic device with atouch-sensitive surface configured to detect intensity of touches, thefirst user input associated with the emoji graphical object comprises atouch gesture having a characteristic intensity (e.g., the user tap hasan intensity; hard press, light touch or resting contact). In responseto receiving the first user input and in accordance with a determinationthat the characteristic intensity exceeds an intensity threshold (e.g.,the touch gesture is a hard press), changing the first visual aspect ofthe emoji graphical object comprises changing a first feature of theemoji graphical object (e.g., changing the size or color of the emoji,such as making the smiley face transition from yellow to red to indicatebeing mad or upset).

In accordance with some embodiments, in response to receiving the firstuser input and in accordance with a determination that thecharacteristic intensity does not exceed the intensity threshold (e.g.,the touch gesture is not a hard press), changing the first visual aspectof the emoji graphical object comprises changing a second feature of theemoji graphical object different than the first feature (e.g., changingthe expression or orientation of the emoji).

In accordance with some embodiments, at the electronic device with arotatable input mechanism, the first user input associated with theemoji graphical object comprises a rotation of the rotatable inputmechanism (e.g., the user rotates the rotatable input mechanism tochange the shape of the eye).

In accordance with some embodiments, at the electronic device with atouch-sensitive surface and a rotatable input mechanism, the first userinput associated with the emoji graphical object comprises a touchgesture at a location on the touch-sensitive surface associated with thefirst visual aspect of the emoji graphical object and a rotation of therotatable input mechanism (e.g., the user taps or taps and holds on theeye of the emoji to identify the feature to change and rotates therotatable input mechanism to cause the change of the identifiedfeature). In some embodiments, the touch gesture and the rotation arereceived fully or at least partially concurrently.

In accordance with some embodiments, transmitting the emoji graphicalobject (e.g., 1106A) comprises transmitting the emoji graphical object(e.g., 1106A) in response to receiving a third user input associatedwith a selection affordance (e.g., the third user input is a sendaffordance).

In accordance with some embodiments, prior to transmitting the emojigraphical object (e.g., 1106A), the emoji graphical object is added to amessage body in response to receiving a fourth user input (e.g., 1104D;the fourth user input is associated with a selection affordance; theemoji is added to the body of a text message or email message).

In accordance with some embodiments, the emoji graphical object (e.g.,1100A, 1102A, 1104A, 1106A) is an animated emoji graphical object (e.g.,the emoji winks, the tongue of the emoji flops around). In accordancewith some embodiments, changing the first visual aspect of the emojigraphical object comprises animating a change in the first visual aspect(e.g., 1100B, 1102B, 1104B, 1106C) of the emoji graphical object (e.g.,a swipe up on a corner of a smiley's mouth causes the mouth to animateinto a bigger/more happy).

Note that details of the processes described above with respect tomethod 1200 (FIG. 12) are also applicable in an analogous manner to themethods described above and below. For example, method 700 (FIG. 7),method 900 (FIG. 9), method 1000 (FIG. 10), method 1400 (FIG. 14A),method 1420 (FIG. 14B), and method 1600 (FIG. 16) may include one ormore of the characteristics of the various methods described above withreference to method 1200. For brevity, these details are not repeatedbelow.

It should be understood that the particular order in which theoperations in FIG. 12 have been described is exemplary and not intendedto indicate that the described order is the only order in which theoperations could be performed. One of ordinary skill in the art wouldrecognize various ways to reorder the operations described herein, aswell as excluding certain operations. For brevity, these details are notrepeated here. Additionally, it should be noted that aspects of method700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method 1200(FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 1200 may be relevant tomethod 700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method1400 (FIG. 14A), method 1420 (FIG. 14B), and method 1600 (FIG. 16).

FIG. 13 illustrates exemplary user interfaces for transitioning betweenvarious pages in accordance with some embodiments. In some embodiments,the electronic device is device 500. The electronic device has a display(e.g., 112, 340, 504) and a touch-sensitive surface (e.g., 112, 355,504). The device may also have a rotatable input mechanism (e.g., 506).A user may wish to quickly switch between non-sequential pages of a userinterface of the device. Switching between pages, however, may requirenavigating a complex structure of menus or typing in the page number ofthe desired page. This is time consuming and not efficient. Thus, it maybe helpful to provide a technique that allows a user to precisely,quickly, and efficiently navigate between pages of a user interface.Precise, quick, and efficient techniques are now described.

At user interface 1302, the device displays a first page of a userinterface (e.g., the smiley page depicted in user interface screen 1302)and a first set of paging affordances (e.g., paging affordances 1302Aand 1302B). The first set of paging affordances (e.g., 1302A-B)comprises a first paging affordance (e.g., 1302A) that includes a focusselector (e.g., the paging dot 1302A is filled in). The first pagingaffordance (e.g., 1302) corresponds to the first page of the userinterface (e.g., paging dot 1302 corresponds to the currently displayedsmiley page of user interface screen 1302). In this example, the userinterface has four pages, as illustrated by the four paging dots.

The device receives a user touch at a first location on thetouch-sensitive surface, as illustrated in user interface screen 1302.The first location is associated with the first set of pagingaffordances (e.g., the touch is on top of the first set of pagingaffordances 1302A-B). In some examples, the touch exceeds a thresholdduration.

In response to receiving the user touch at the first location, thedevice replaces display of the first set of paging affordances (e.g.,1302A-B) with display of a second set of paging affordances (e.g.,1304A-B), as illustrated in user interface screen 1304. For example, thedevice displays a larger set of paging dots or enlarges the existing setof paging dots. The second set of paging affordances (e.g., 1304A-B)comprises a second paging affordance (e.g., 1304B) that corresponds to asecond page of the user interface (e.g., the second paging affordance1304B does not correspond to the currently displayed smiley pageillustrated in user interface screens 1302 and 1304, but rather to adifferent page). In this example, paging dot 1304A is an enlargedversion of paging dot 1302A, both of which correspond to the first pageof the user interface (e.g., the smiley page). At user interface screen1304, the second paging affordance 1304B does not include a focusselector (e.g., the paging dot is not filled in).

While continuing to receive the user touch, the device detects movementof the user touch from the first location to a second location on thetouch-sensitive surface without a break in contact of the user touch onthe touch-sensitive surface (e.g., the user moves their finger withoutlifting their finger off the touch-sensitive surface), as illustrated inuser interface screen 1306. The second location is associated with thesecond paging affordance (e.g., the finger is now at the location ofpaging dot 1304B, 1306B). For example, the user slides their finger overthe second paging affordance (e.g., 1304B, 1306B) or user slides fingerover the second paging affordance and lifts finger.

In response to detecting the user touch at the second location (e.g., atthe location of paging dot 1306B), the device displays the second pageof the user interface (e.g., the thumbs up page including a thumbs upemoji object 1306C). Thus, the user places their finger on pagingaffordances, the paging affordances get larger and/or move to a newlocation to allow the user to more easily see the paging affordances andso that that enlarged paging affordances are not covered by the userstouch. When the user selects a paging affordance by moving their fingerto that paging affordance, the page corresponding to the selectingpaging affordance is displayed.

In accordance with some embodiments, the device detects a lift-off ofthe user touch from the touch-sensitive surface (e.g., the user breakscontact with the touch-sensitive surface) at the second location (e.g.,after the user slides their finger over the second paging affordance,the user lifts their finger). In response to detecting the lift-off ofthe user touch at the second location, the device maintains display ofthe second page of the user interface. Thus, once the desired page ofthe user interface is displayed, the user can remove their finger fromthe touch-sensitive surface to continue accessing the desired page.

In accordance with some embodiments, while continuing to receive theuser touch, detecting a characteristic intensity (e.g., maximumintensity) of the user touch at the second location on thetouch-sensitive surface and detecting a subsequent lift-off of the usertouch from the touch-sensitive surface (e.g., the user slides theirfinger over the second paging affordance or the user slides their fingerover the second paging affordance and lifts finger). In accordance witha determination that the characteristic intensity exceeds an intensitythreshold (e.g., the user performed a hard press at the secondlocation), maintaining display of the second page of the user interface(e.g., maintaining display of the second page subsequent to the lift-offof the user touch if the user has committed to the page using a hardpress). Thus, the user has performed a hard press to commit to aparticular page.

In accordance with some embodiments, in accordance with a determinationthat the characteristic intensity does not exceed the intensitythreshold (e.g., it was not a hard press), the device replaces displayof the second page of the user interface (e.g., the thumbs up page) withdisplay of the first page of the user interface (e.g., the smiley page).In this example, the device determines that the movement of the fingerwas for a preview request. Because the user did not commit to the pageby performing a hard press, the device replaces the second page with theoriginally displayed first page after the user has lifted their fingeroff the touch-sensitive surface.

In accordance with some embodiments, in response to detecting the usertouch at the second location, the device updates the second pagingaffordance 1306B to include a focus selector (e.g., the second pagingdot 1306B is filled in), as illustrated in user interface screen 1306.

In accordance with some embodiments, displaying the second page of theuser interface comprises replacing display of the first page of the userinterface with display of the second page of the user interface. Thus,the smiley page of user interface screens 1302 and 1304 is replaced withthe thumbs up page of user interface screens 1306 and 1308. Inaccordance with some embodiments, the first page of the user interfaceand the second page of the user interface are different.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises displaying an enlarged version of the first set ofpaging affordances.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises an animation of the first set of pagingaffordances enlarging (e.g., display of the second set of pagingaffordances result from the first set of paging affordances gettingbigger). In other examples, display of the second set of pagingaffordances result from a translation of the first set of pagingaffordances (e.g., the first set of paging dots move to a differentlocation on the display).

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

In another embodiment, at user interface 1302, the device displays afirst page (e.g., the smiley page depicted in user interface screen1302), of a plurality of pages, of a user interface and a first set ofpaging affordances (e.g., 1302A-1302B). The first set of pagingaffordances comprises a first paging affordance (e.g., 1302A) thatincludes a focus selector (e.g., is filled in). The first pagingaffordance (e.g., 1302A) corresponds to the first page of the userinterface (e.g., the smiley page illustrated in user interface screens1302 and 1304).

The device receives a user touch at a first location on thetouch-sensitive surface, the first location corresponding to the firstset of paging affordances (e.g., the user touches and holds at thepaging affordances 1302A-B, as illustrated in user interface screen1302). In response to receiving the user touch at the first location,the device replaces display of the first set of paging affordances(e.g., 1302A-B) with display of a second set of paging affordances(e.g., 1304A-B), wherein the second set of paging affordances (e.g.,1304A-1304B) comprises a first paging affordance (e.g., 1304A) thatincludes a focus selector (e.g., is filled in), and wherein the firstpaging affordance (e.g., 1304A) corresponds to the first page of theuser interface (e.g., the smiley page illustrated in user interfacescreens 1302 and 1304).

While continuing to receive the user touch, the device detects movementof the user touch from the first location to a second location on thetouch-sensitive surface without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance. In response to detecting the user touch atthe second location, the device replaces display if the first page(e.g., the smiley page) with a second page (e.g., the thumbs up page) ofthe plurality of pages, and updates the second set of paging affordances(e.g., updated affordances 1304A-1304B to affordances 1306A-1306B),wherein the updating comprises removing the focus selector from thefirst paging affordance of the set (e.g., removing the filled in portionof 1304A) and displaying a second paging affordance of the set of pagingaffordances with the focus selector (e.g., 1306B is filled in).

In accordance with some embodiments, the device detects a lift-off ofthe user touch from the touch-sensitive surface (e.g., the user breakscontact with the touch-sensitive surface) at the second location (e.g.,after the user slides their finger over the second paging affordance,the user lifts their finger). In response to detecting the lift-off ofthe user touch at the second location, the device maintains display ofthe second page of the user interface. Thus, once the desired page ofthe user interface is displayed, the user can remove their finger fromthe touch-sensitive surface to continue accessing the desired page. Thistechnique does not provide a preview mode.

In accordance with some embodiments, while continuing to receive theuser touch, detecting a characteristic intensity (e.g., maximumintensity) of the user touch at the second location on thetouch-sensitive surface and detecting a subsequent lift-off of the usertouch from the touch-sensitive surface (e.g., the user slides theirfinger over the second paging affordance or the user slides their fingerover the second paging affordance and lifts finger). In accordance witha determination that the characteristic intensity exceeds an intensitythreshold (e.g., the user performed a hard press at the secondlocation), maintaining display of the second page of the user interface(e.g., maintaining display of the second page subsequent to the lift-offof the user touch if the user has committed to the page using a hardpress). Thus, the user has performed a hard press to commit to aparticular page.

In accordance with some embodiments, the first page of the userinterface and the second page of the user interface are different. Inaccordance with some embodiments, displaying the second set of pagingaffordances comprises displaying an enlarged version of the first set ofpaging affordances.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises an animation of the first set of pagingaffordances enlarging (e.g., display of the second set of pagingaffordances result from the first set of paging affordances gettingbigger). In other examples, display of the second set of pagingaffordances result from a translation of the first set of pagingaffordances (e.g., the first set of paging dots move to a differentlocation on the display).

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

FIGS. 14A-B are flow diagrams illustrating methods 1400 and 1420 fortransitioning between various pages in accordance with some embodiments.In some embodiments, methods 1400 and 1420 may be performed at anelectronic device with a display (e.g., 112, 340, 504) and atouch-sensitive surface (e.g., 112, 355, 504). The electronic device mayalso include a rotatable input mechanism (e.g., 506). In someembodiments, the touch-sensitive surface (e.g., 112, 355, 504) iscapable of detecting intensity of touch contacts. In some embodiments,methods 1400 and 1420 may be performed at an electronic device with atouch-sensitive surface (e.g., 112, 355, 504) that is able to determinea substitute (proxy) for the force or pressure of a contact on thetouch-sensitive surface. Exemplary devices that may perform methods 1400and 1420 include devices 100, 300, and 500 (FIGS. 1A, 3, and 5A). Someoperations in methods 1400 may be combined, the order of some operationsmay be changed, and some operations may be omitted. Some operations inmethods 1420 may be combined, the order of some operations may bechanged, and some operations may be omitted.

A user may wish to quickly switch between non-sequential pages of a userinterface of the device. Switching between pages, however, may requirenavigating a complex structure of menus or typing in the page number ofthe desired page. This is time consuming and not efficient. Thus, it maybe helpful to provide a technique that allows a user to precisely,quickly, and efficiently navigate between pages of a user interface withfewer gestures or keystrokes. Precise, quick, and efficient techniquesare now described.

Methods 1400 and 1420 provide intuitive ways to transition betweenvarious pages of a user interface. The method reduces the cognitiveburden on a user transitioning between pages on a device, therebycreating a more efficient human-machine interface. For battery-operatedcomputing devices, enabling a user to transition between pages fasterand more efficiently conserves power and increases the time betweenbattery charges.

FIG. 14A is a flow diagram illustrating method 1400 for transitioningbetween various pages in accordance with some embodiments. At block1402, a first page of a user interface (e.g., the smiley page of userinterface screen 1302) and a first set of paging affordances (e.g.,1302A-1302B), wherein the first set of paging affordances comprises afirst paging affordance (e.g., 1302A) that includes a focus selector,and wherein the first paging affordance (e.g., 1302A) corresponds to thefirst page of the user interface (e.g., the smiley page of userinterface screen 1302).

At block 1404, a user touch is received at a first location on thetouch-sensitive surface, wherein the first location is associated withthe first set of paging affordances (e.g., as illustrated in userinterface screen 1302).

At block 1406, in response to receiving the user touch at the firstlocation, display of the first set of paging affordances (e.g.,1302A-1302B) is replaced with display of a second set of pagingaffordances (e.g., 1304A-1304B; display a larger set of paging dots orenlarge the existing set of paging dots), wherein the second set ofpaging affordances (e.g., 1304A-1304B) comprises a second pagingaffordance (e.g., 1304B) that corresponds to a second page of the userinterface (e.g., 1304B corresponds to a thumbs up page).

At block 1408, while continuing to receive the user touch, movement isdetected of the user touch from the first location to a second locationon the touch-sensitive surface without a break in contact of the usertouch on the touch-sensitive surface (e.g., the user does not lift theirfinger off the touch-sensitive surface), wherein the second location isassociated with the second paging affordance (e.g., the user slidestheir finger over the second paging affordance 1306B or user slidestheir finger over the second paging affordance 1306B and lifts theirfinger).

At block 1410, in response to detecting the user touch at the secondlocation, the second page of the user interface is displayed (e.g., thethumbs up page illustrated in user interface screen 1306 and 1308).

In accordance with some embodiments, a lift-off of the user touch isdetected from the touch-sensitive surface (e.g., the user breaks contactwith the touch-sensitive surface) at the second location (e.g., the userslides finger over the second paging affordance and lifts finger). Inresponse to detecting the lift-off of the user touch at the secondlocation, display of the second page of the user interface is maintained(e.g., maintaining display of the second page subsequent to the lift-offof the user touch).

In accordance with some embodiments, while continuing to receive theuser touch, a characteristic intensity of the user touch is detected atthe second location on the touch-sensitive surface and a subsequentlift-off of the user touch is detected from the touch-sensitive surface(e.g., the user slides finger over the second paging affordance or userslides finger over the second paging affordance and lifts finger). Inaccordance with a determination that the characteristic intensityexceeds an intensity threshold (e.g. user performed a hard press),display is maintained of the second page of the user interface (e.g.,maintaining display of the second page subsequent to the lift-off of theuser touch if the user has committed to the page using a hard press).

In accordance with some embodiments, in accordance with a determinationthat the characteristic intensity does not exceed the intensitythreshold (e.g., not a hard press), display of the second page of theuser interface is replaced with display of the first page of the userinterface (e.g., this was a preview request, replace the second pagewith the originally displayed first page).

In accordance with some embodiments, in response to detecting the usertouch at the second location, the second paging affordance is updated toinclude a focus selector (e.g., the second paging affordance becomesfilled in).

In accordance with some embodiments, displaying the second page of theuser interface comprises replacing display of the first page of the userinterface with display of the second page of the user interface.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises displaying an enlarged version of the first set ofpaging affordances.

In accordance with some embodiments, the first page of the userinterface and the second page of the user interface are different.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises an animation of the first set of pagingaffordances enlarging (e.g., display of the second set of pagingaffordances result from the first set of paging affordances gettingbigger). In other examples, display of the second set of pagingaffordances result from a translation of the first set of pagingaffordances (e.g., the first set of paging dots move to a differentlocation on the display).

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

FIG. 14B is a flow diagram illustrating method 1420 for transitioningbetween various pages in accordance with some embodiments. At block1422, a first page (e.g., the smiley page depicted in user interfacescreen 1302), of a plurality of pages, of a user interface and a firstset of paging affordances (e.g., 1302A-1302B) are displayed. The firstset of paging affordances comprises a first paging affordance (e.g.,1302A) that includes a focus selector (e.g., is filled in). The firstpaging affordance (e.g., 1302A) corresponds to the first page of theuser interface (e.g., the smiley page illustrated in user interfacescreens 1302 and 1304).

At block 424, a user touch is received at a first location on thetouch-sensitive surface, the first location corresponding to the firstset of paging affordances (e.g., the user touches and holds at thepaging affordances 1302A-B, as illustrated in user interface screen1302).

At block 1426, in response to receiving the user touch at the firstlocation, display of the first set of paging affordances (e.g.,1302A-1302B) is replaced with display of a second set of pagingaffordances (e.g., 1304A-1304B), wherein the second set of pagingaffordances (e.g., 1304A-B) comprises a first paging affordance (e.g.,1304A) that includes a focus selector (e.g., is filled in), and whereinthe first paging affordance (e.g., 1304A) corresponds to the first pageof the user interface (e.g., the smiley page illustrated in userinterface screens 1302 and 1304).

At block 1428, while continuing to receive the user touch, movement isdetected of the user touch from the first location to a second locationon the touch-sensitive surface without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance.

At block 1430, in response to detecting the user touch at the secondlocation, blocks 1432 and 1434 are performed. At block 1432, display ifthe first page (e.g., the smiley page) is replaced with a second page(e.g., the thumbs up page) of the plurality of pages. At block 1434, thesecond set of paging affordances (e.g., updated affordances 1304A-1304Bto affordances 1306A-1306B) is updated, wherein the updating comprisesremoving the focus selector from the first paging affordance of the set(e.g., removing the filled in portion of 1304A) and displaying a secondpaging affordance of the set of paging affordances with the focusselector (e.g., 1306B is filled in).

In accordance with some embodiments, a lift-off of the user touch isdetected from the touch-sensitive surface (e.g., the user breaks contactwith the touch-sensitive surface) at the second location (e.g., the userslides finger over the second paging affordance and lifts finger). Inresponse to detecting the lift-off of the user touch at the secondlocation, display of the second page of the user interface is maintained(e.g., maintaining display of the second page subsequent to the lift-offof the user touch).

In accordance with some embodiments, while continuing to receive theuser touch, a characteristic intensity of the user touch is detected atthe second location on the touch-sensitive surface and a subsequentlift-off of the user touch is detected from the touch-sensitive surface(e.g., the user slides finger over the second paging affordance or userslides finger over the second paging affordance and lifts finger). Inaccordance with a determination that the characteristic intensityexceeds an intensity threshold (e.g. user performed a hard press),display is maintained of the second page of the user interface (e.g.,maintaining display of the second page subsequent to the lift-off of theuser touch if the user has committed to the page using a hard press).

In accordance with some embodiments, displaying the second set of pagingaffordances comprises displaying an enlarged version of the first set ofpaging affordances.

In accordance with some embodiments, the first page of the userinterface and the second page of the user interface are different.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises an animation of the first set of pagingaffordances enlarging (e.g., display of the second set of pagingaffordances result from the first set of paging affordances gettingbigger). In other examples, display of the second set of pagingaffordances result from a translation of the first set of pagingaffordances (e.g., the first set of paging dots move to a differentlocation on the display).

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

Note that details of the processes described above with respect tomethods 1400 and 1420 (FIGS. 14A-14B) are also applicable in ananalogous manner to the methods described above and below. For example,method 700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method1200 (FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), andmethod 1600 (FIG. 16) may include one or more of the characteristics ofthe various methods described above with reference to methods 1400 and1420. For brevity, these details are not repeated below.

It should be understood that the particular order in which theoperations in FIGS. 14A-14B have been described is exemplary and notintended to indicate that the described order is the only order in whichthe operations could be performed. One of ordinary skill in the artwould recognize various ways to reorder the operations described herein,as well as excluding certain operations. For brevity, these details arenot repeated here. Additionally, it should be noted that aspects ofmethod 700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method1200 (FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), andmethod 1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 1400 and 1420 may berelevant to method 700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG.10), method 1200 (FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG.14B), and method 1600 (FIG. 16).

FIGS. 15A-15B illustrate exemplary user interfaces for receiving userinput using an electronic device, in accordance with some embodiments.In some embodiments, the electronic device is device 500. In someembodiments, the electronic device has a display (e.g., 112, 340, 504),a touch-sensitive surface (e.g., 112, 355, 504), and a rotatable inputmechanism (e.g., 506).

A user may wish to select from among different user interfaces forentering a message body or reply, such as in an iMessage®, SMS, orelectronic mail message. Switching among the various user interfaces,however, may require navigating a complex structure of menus. This istime consuming and not efficient. Thus, it may be helpful to provide amethod that allows a user to precisely, quickly, and efficiently switchamong various user interfaces. Precise, quick, and efficient techniquesare now described.

In accordance with some embodiments, as illustrated in user interfacescreen 1502, the device displays an add contact affordance 1502A (e.g.,to add a contact to a new or existing message) and a create messageaffordance 1502B (e.g., to add content to a new or existing message).

The device receives a first user input (e.g., (1) the user taps oncreate message affordance 1502 or (2) the user is already in the createmessage interface and taps on a dictation affordance). In response toreceiving the first user input, the device displays, on the display, adictation user interface, as illustrated in user interface screen 1504.The dictation user interface may include a waveform 1504C (e.g., theposition of the waveform 1504C is such that it appears to emanate from aphysical button of the device) and an affordance 1504D for starting andending a dictation mode. User interface screen 1504 also includes anemoji affordance 1504A, which, when activated, causes display of anemoji user interface, and a suggested responses affordance 1504B, which,when activated, causes display of a suggested responses user interface.

The device receives a second user input (e.g., user taps on emojiaffordance 1504A). In response to receiving the second user input, thedevice replaces display of the dictation user interface (e.g., asillustrated in user interface screen 1504) with display of a first emojigraphical object (e.g., smiley 1506A of an emoji user interfaceillustrated in user interface screen 1506). User interface screen 1506also includes the suggested responses affordance, which, when activated,causes display of an emoji user interface, and a dictation affordance,which, when activated, causes display of the dictation user interface.

At user interface screen 1506, the device receives a first user swipegesture input at a location on the touch-sensitive surface associatedwith the first emoji graphical object (e.g., the user swipes to the nextemoji page; a swipe left gesture). In response to receiving the firstuser swipe gesture input, the device replaces display of the first emojigraphical object (e.g., the smiley 1506A) with display of a second emojigraphical object (e.g., the heart 1508A), as illustrated in userinterface screen 1508.

In some examples, one or more additional swipes result in displayingadditional emoji graphical objects, prior to arriving at a set ofrecently accessed emoji graphical objects. In some examples, anadditional swipe results in arriving at the set of recently accessedemoji graphical objects. In particular, the device receives a seconduser swipe gesture input at the touch-sensitive surface (e.g., userswipes to get to recent emoji; swipe can be on second emoji graphicalobject (heart) or third emoji graphical object (thumbs up/down)). Inresponse to receiving the second user swipe gesture input, the devicedisplays (e.g., by replacing display of the second or third emojigraphical object) a set of recently accessed emoji graphical objects1512A-1512C (e.g., the emoji recents list), as illustrated in userinterface screen 1512.

In accordance with some embodiments, the set of recently accessed emojigraphical objects 1512A-1512C comprises: one or more (or a plurality of)emoji graphical objects (e.g., 1512A, 1512B, 1512C), wherein the one ormore emoji graphical objects are selected based on (and in someexamples, a predetermined number of) emoji graphical objects recentlyaccessed by an external electronic device (e.g., a device other than theelectronic device displaying the user interface screens described above;the external electronic device may be the user's phone). Thus, theuser's phone (the external electronic device) may be wirelessly linkedwith the electronic device. The user sends messages, such as iMessages®and electronic mail messages, using the external electronic device,which include emoji graphical objects. The electronic device receivesinformation (e.g., directly from the external electronic device orindirectly) that identifies (a predetermined number of) the emojigraphical objects most recently sent by the external electronic deviceand displays them in the recent emoji view, such as illustrated in userinterface screen 1512.

In accordance with some embodiments, the set of recently accessed emojigraphical objects (e.g., 1512A-1512C) comprises: one or more (or aplurality of) visually manipulatable emoji graphical objects (e.g.,emojis that can be manipulated to change their visual appearance),wherein the one or more visually manipulatable emoji graphical objectsare selected based on (e.g., a predetermined number of) visuallymanipulatable emoji graphical objects recently accessed by a wirelesslylinked external electronic device (e.g., the user's phone). Thus, theuser's phone (e.g. the external electronic device) may be wirelesslylinked with the electronic device. The user sends messages, such asiMessage®, SMS, and electronic mail messages, using the externalelectronic device, which include emoji graphical objects that have beenvisually manipulated. The electronic device receives information (e.g.,from the external electronic device) that identifies a predeterminednumber of the manipulated emoji graphical objects most recently sent bythe external electronic device and displays them in the recent emojiview, such as illustrated in user interface screen 1512.

In accordance with some embodiments, the device receives a third userinput (e.g., user taps on the suggested replies affordance 1512D). Inresponse to receiving the third user input, the device displays asuggested replies user input interface (e.g., a list of suggestedresponses 1514C, 1514D, and 1514E), as illustrated in user interfacescreen 1514 of FIG. 15B. The suggested replies user input interfaceincludes one or more suggested responses (e.g., 1514C-E). User interfacescreen 1514 also includes a diction affordance 1514A, which, whenactivated, causes display of the dictation user interface, and an emojiaffordance 1514B, which, when activated, causes display of the emojiuser interface.

In accordance with some embodiments, at user interface screen 1514, thedevice receives user input representing a touch associated with a firstsuggested response (e.g., 1514C) of the one or more suggested responses(e.g., 1514C-1514E). In response to receiving user input representingthe touch associated with the first suggested response (e.g., 1514C),the device adds the first suggested response as response information toan electronic message. For example, after user has selected affordance1514C, the device may send the response to the recipient(s). Theresponse information is transmitted to recipients, for example, (1) bydirect wireless WiFi communication with a WiFi-enabled router, (2) bydirect wireless cellular communication with a cellular base station, or(3) by using a companion device (such as a cellular telephone or laptop)as an intermediary and requesting that the companion device transmit theresponse information. The companion device also includes auser-accessible electronic message application and may be configured foraccessing the electronic messages of the user of the electronic device.

In accordance with some embodiments, receiving a fourth user input(e.g., user taps on the dictation affordance 1514A or at user interfacescreens 1506, 1508, 1510, 1512). In response to receiving the fourthuser input, displaying the dictation user interface.

In accordance with some embodiments, in accordance with someembodiments, the device receives user input representing speech (e.g.,while at the dictation user interface). In response to receiving userinput representing speech, the device transcribes the user inputrepresenting speech. Transcribing the speech can be done several ways,including: (1) locally, by the electronic device, (2) remotely, wherethe electronic device transmits (e.g., via WiFi or Bluetooth) the userinput representing speech (or data that is based on the user inputrepresenting speech) to a companion device (e.g., a cellular phone orlaptop), the companion device locally transcribes the user input, andthe electronic device receives the transcribed speech from the companiondevice, (3) remotely, where the electronic device transmits (e.g., viaWiFi or Bluetooth) the user input representing speech (or data that isbased on the user input representing speech) to a server (e.g., a serverconnected over the Internet), the server transcribes the user input, andthe electronic device receives the transcribed speech from the server(e.g., via WiFi or Bluetooth), or (4) remotely, where the electronicdevice transmits (e.g., via WiFi or Bluetooth) the user inputrepresenting speech (or data that is based on the user inputrepresenting speech) to a companion device (e.g., a cellular phone orlaptop), the companion device transmits the user input to a server, theserver transcribes the user input, the companion device receives thetranscribed speech from the server, and the electronic device receivesthe transcribed speech from the companion device. In response toreceiving user input representing speech, the device adds thetranscribed speech to an electronic message (e.g., add the transcribedspeech to an iMessage®, SMS or electronic mail message).

In accordance with some embodiments, the device receives a fifth userinput (e.g., user taps on the “keyboard” affordance). In response toreceiving the fifth user input, the device displays one or more keys ofa keyboard (e.g. display a keyboard that allows user input to responseinformation to be added to the electronic message, such as described inrelation to FIGS. 17A-17D).

In accordance with some embodiments, at user interface screen 1508, thedevice receives a sixth user input, the sixth user input associated withthe second emoji graphical object (e.g., swipe/drag on thetouch-sensitive surface or rotation of a rotatable input mechanism). Inresponse to receiving the sixth user input associated with the secondemoji graphical object (e.g., 1508A), changing a first visual aspect ofthe second emoji graphical object, wherein the change in the firstvisual aspect is based on the sixth user input. For example, a swipe upon a corner of a smiley's mouth causes a different change (make smileymore happy) than a swipe down on a corner of the mouth (make smiley moresad).

In accordance with some embodiments, at user interface screen 1508, thedevice receives a third user swipe gesture input (e.g., prior toreceiving the second swipe gesture, the device receives the third swipegesture; user swipes to the next page). In response to receiving thethird user swipe gesture input, replacing display of the second emojigraphical object (e.g., the heart 1508A) with display of a third emojigraphical object (e.g., the thumbs up 1510A).

In accordance with some embodiments, the device transmits an electronicmessage to a recipient, the electronic message including responseinformation (e.g., send an emoji, text, dictated content as a messageonce the user has selected/entered the response information).

In accordance with some embodiments, the first emoji graphical objectand the second emoji graphical object are different, and the first emojigraphical object and the second emoji graphical object are selected fromthe group comprising a smiley (e.g., a happy face, a sad face, an angryface), a heart (e.g., a heart, a broken heart, an animated beatingheart), and a thumb signal (e.g., a thumbs up or thumbs down; user canmanipulate thumb signal to switch between the two).

FIG. 16 is a flow diagram illustrating method 1600 for receiving userinput using an electronic device, in accordance with some embodiments.In some embodiments, method 1600 may be performed at an electronicdevice with a display (e.g., 112, 340, 504) and a touch-sensitivesurface (e.g., 112, 355, 504). The electronic device may also include arotatable input mechanism (e.g., 506). In some embodiments, thetouch-sensitive surface (e.g., 112, 355, 504) is capable of detectingintensity of touch contacts. In some embodiments, method 1600 may beperformed at an electronic device with a touch-sensitive surface (e.g.,112, 355, 504) that is able to determine a substitute (proxy) for theforce or pressure of a contact on the touch-sensitive surface. Exemplarydevices that may perform method 1600 include devices 100, 300, and 500(FIGS. 1A, 3, and 5A). Some operations in method 1600 may be combined,the order of some operations may be changed, and some operations may beomitted.

A user may wish to select from among different user interfaces forentering a message body or reply, such as in an iMessage®, SMS, orelectronic mail message. Switching among the various user interfaces,however, may require navigating a complex structure of menus. This istime consuming and not efficient. Thus, it may be helpful to provide amethod that allows a user to precisely, quickly, and efficiently switchamong various user interfaces. Precise, quick, and efficient techniquesare now described.

Method 1600 provides an intuitive way to switch among various userinterfaces. The method reduces the cognitive burden on a user switchingamong various user interfaces, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to switch among various user interfaces faster and moreefficiently conserves power and increases the time between batterycharges.

At block 1602, a first user input is received. At block 1604, inresponse to receiving the first user input, a dictation user interfaceis displayed. At block 1606, a second user input is received. At block1608, in response to receiving the second user input, display of thedictation user interface is replaced with display of a first emojigraphical object. At block 1610, a first user swipe gesture input isreceived at a location on the touch-sensitive surface associated withthe first emoji graphical object. At block 1612, in response toreceiving the first user swipe gesture input, replacing display of thefirst emoji graphical object with display of a second emoji graphicalobject. At block 1614, a second user swipe gesture input is received atthe touch-sensitive surface. At block 1616, in response to receiving thesecond user swipe gesture input, displaying a set of recently accessedemoji graphical objects.

In accordance with some embodiments, the set of recently accessed emojigraphical objects comprises: one or more emoji graphical objects,wherein the one or more emoji graphical objects are selected based onemoji graphical objects recently accessed by an external electronicdevice.

In accordance with some embodiments, the set of recently accessed emojigraphical objects comprises: one or more visually manipulatable emojigraphical objects, wherein the one or more visually manipulatable emojigraphical objects are selected based on visually manipulatable emojigraphical objects recently accessed by a wirelessly linked externalelectronic device.

In accordance with some embodiments, the device receives a third userinput. In response to receiving the third user input, the devicedisplays a suggested replies user input interface. The suggested repliesuser input interface includes one or more suggested responses.

In accordance with some embodiments, the device receives user inputrepresenting a touch associated with a first suggested response of theone or more suggested responses. In response to receiving user inputrepresenting the touch associated with the first suggested response, thedevice adds the first suggested response as response information to anelectronic message.

In accordance with some embodiments, the device receives a fourth userinput. In response to receiving the fourth user input, the devicedisplays the dictation user interface.

In accordance with some embodiments, the device receives user inputrepresenting speech. In response to receiving user input representingspeech: the device transcribes the user input representing speech andadds the transcribed speech to an electronic message.

In accordance with some embodiments, the device receives a fifth userinput. In response to receiving the fifth user input, the devicedisplays one or more keys of a keyboard (e.g., such as the keyboardsdescribed in relation to FIGS. 17A-17D).

In accordance with some embodiments, the device receives a sixth userinput, the sixth user input associated with the second emoji graphicalobject. In response to receiving the sixth user input associated withthe second emoji graphical object, the device changes a first visualaspect of the second emoji graphical object, wherein the change in thefirst visual aspect is based on the sixth user input.

In accordance with some embodiments, the device receives a third userswipe gesture input. In response to receiving the third user swipegesture input, the device replaces display of the second emoji graphicalobject with display of a third emoji graphical object.

In accordance with some embodiments, the device transmits an electronicmessage to a recipient, the electronic message including responseinformation.

In accordance with some embodiments, the first emoji graphical objectand the second emoji graphical object are different, and the first emojigraphical object and the second emoji graphical object are selected fromthe group comprising a smiley, a heart, and a thumb signal.

Note that details of the processes described above with respect tomethod 1600 (FIG. 16) are also applicable in an analogous manner to themethods described above. For example, method 700 (FIG. 7), method 900(FIG. 9), method 1000 (FIG. 10), method 1200 (FIG. 12), method 1400(FIG. 14A), and method 1420 (FIG. 14B) may include one or more of thecharacteristics of the various methods described above with reference tomethod 1600. For brevity, these details are not repeated below.

It should be understood that the particular order in which theoperations in FIG. 16 have been described is exemplary and not intendedto indicate that the described order is the only order in which theoperations could be performed. One of ordinary skill in the art wouldrecognize various ways to reorder the operations described herein, aswell as excluding certain operations. For brevity, these details are notrepeated here. Additionally, it should be noted that aspects of method700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method 1200(FIG. 12), method 1400 (FIG. 14A), method 1420 (FIG. 14B), and method1600 (FIG. 16) may be incorporated with one another. Thus, thetechniques described with respect to method 1600 may be relevant tomethod 700 (FIG. 7), method 900 (FIG. 9), method 1000 (FIG. 10), method1200 (FIG. 12), method 1400 (FIG. 14A), and method 1420 (FIG. 14B).

FIGS. 17A-17D illustrate exemplary user interfaces for receiving userinput using an electronic device, in accordance with some embodiments.In some embodiments, the electronic device is device 500. In someembodiments, the electronic device has a display (e.g., 112, 340, 504),a touch-sensitive surface (e.g., 112, 355, 504), and a rotatable inputmechanism (e.g., 506).

A user may wish to enter text on a virtual keyboard for entering amessage body or reply, such as in an iMessage®, SMS, or electronic mailmessage. Devices with small displays, however, do not provide sufficientreal estate for a virtual QWERTY keyboard that is efficient. Thus, itmay be helpful to provide a method that allows a user to precisely,quickly, and efficiently enter characters using a touch-based keyboard.

At FIG. 17A, user interface screen 1702 includes an affordance foradding recipients to a message and an affordance 1702A for adding a bodyto a message. When the user activates affordance 1702, the user ispresented with user interface screen 1704. User interface screen 1704includes a recently accessed user interface (e.g., the “yes”, “no”,“maybe” affordances for the suggested replies user interface), such asdescribed in relation to FIGS. 6-7.

At user interface screen 1704, the keyboard affordance, when activated,causes display of a keyboard user interface, such as illustrated in userinterface screen 1706.

At user interface screen 1706, the keyboard user interface includes akeyboard track 1706A. The keyboard track 1706A may be, for example, arow of characters, as illustrated in keyboard track 1706A. The row ofcharacters 1706A may be the alphabet, arranged in alphabetical order.Affordance 1706B, when activated, inserts a whitespace into text beingtyped. Affordance 1706C, when activated, causes a display of a secondkeyboard track, which replaces the keyboard track 1706A. The secondkeyboard track may be a second row of characters that includesnon-alphabetical characters, such as one or more of: “.”, “,”, “!”, “?”,“@”, “&”, “%”, “$”, “#”, “{”, “}”, and “˜”. The second keyboard trackuses a similar technique for input characters as the keyboard track1706A, which is described below. Affordance 1706D, when activated,deletes a typed character (e.g., such as a backspace or delete functionon a traditional hardware keyboard). Affordance 1706E, when activated,indicates the user has completed entering the text and, for example,causes the keyboard track 1706A to no longer be displayed. In someexamples, the user interface includes a text insertion area 1706F with acursor 1706G. The cursor may indicate, for example, where entered textwill be inserted.

At user interface screen 1708, a user has placed a touch (e.g., a fingertouch) on a location of the touch-sensitive surface that corresponds tothe keyboard track 1708A. In response to detecting the touch, the devicedisplays one or more preview characters 1708B. In this example, the oneor more preview characters are “LMN”. The preview characters aredetermined based on the location of the touch on the keyboard track1708A. The preview characters may be larger than the characters of thekeyboard track. This allows the keyboard track to be small, yet stillallows the user to read which character is being previewed by thepreview characters. The location of the preview characters 1708B isdifferent than the location of the corresponding characters in thekeyboard track 1708A. This allows the preview characters 1708C to bevisible while the user has placed a finger or other touch at thelocation of the keyboard track 1708A.

The preview characters 1708B include an “L” character, an “M” character,and a “N” character. In this example, the size of the “M” (or middlecharacter) is larger than the other characters, indicated it is thefocus character. The focus character indicates to the user whichcharacter will be inserted if the selection is confirmed. In thisexample, the “M” character is the focus character and will be added atthe point of insertion (e.g., at the cursor). The “L” and “N” charactersare not focus characters, but provide the user with context. The “L” and“N” characters indicate to the user which characters will become thefocus character if the user moves their finger along the keyboard trackwhile not breaking contact (e.g., the finger contact) with thetouch-sensitive surface. By scrubbing (e.g., sliding the users finger)along the keyboard track, different characters can be previewed anddifferent characters become the focus character. When the focuscharacter is the character that the user wants to insert, the user caninitiate a hard press on the touch-sensitive screen, while continuing tocontact the touch-sensitive surface. For example, the device displays“M” as the focus character. The device detects that a characteristicintensity of the touch exceeds an intensity threshold. In response todetecting that the characteristic intensity of the touch exceeds theintensity threshold, the device inserts the focus character at the pointof insertion (e.g., at the location of the cursor), as illustrated inuser interface screen 1710.

At user interface screen 1710, a character “M” 1710B has been insertedas a result of the user performing a hard press (e.g., exceeding theintensity threshold) while the finger touch was being detected on thecharacter track 1710A and the “M” character was the focus character.

While continuing to not break contact with the touch-sensitive surface,the user slides their finger to the right along keyboard track 1712A, asshown in user interface screen 1712. As the user slides (e.g., scrubs)along keyboard track 1712A, the preview characters 1712B update toreflect the location of the user's touch on the keyboard track 1712A. Inpreview characters 1712B, the focus character is the “O” character, asindicated by being larger than the “N” or “P” characters of 1712B.Again, without breaking contact with the touch-sensitive surface, theuser performs a hard press. The device detects that a characteristicintensity of the touch at the location on the keyboard track 1712Aexceeds an intensity threshold. In response to detecting that thecharacteristic intensity of the touch exceeds the intensity threshold,the device inserts the focus character at the point of insertion (e.g.,at the location of the cursor), as illustrated in user interface screen1714.

At user interface screen 1714, the user has now entered “MO”, all whilenot lifting their finger from the touch-sensitive surface (e.g., notbreaking contact with the touch-sensitive surface).

In accordance with some embodiments, the user may enter a whitespace bylifting their finger. In accordance with some embodiments, the user mayenter a whitespace by lifting their finger and replacing it back ontothe keyboard track. Thus, for example, if the user wishes to enter awhitespace after “MO” displayed in user interface screen 1714, the userbreaks contact with the touch-sensitive surface. In some embodiments, inaccordance with a determination that the touch is no longer detected(e.g., the user is no longer touching the touch-sensitive surface), awhitespace is inserted at the point of insertion (e.g., cursor 1714). Insome embodiments, in accordance with a determination that the touch(e.g., the touch used to insert “MO”) is no longer detected and that asecond touch is detected, a whitespace is inserted at the point ofinsertion (e.g., cursor 1714). In accordance with some embodiments, inaccordance with a determination that the touch (e.g., the touch used toinsert “MO”) is no longer detected and that a second touch is detectedwithin a predetermined period of time (e.g., the user lifts up theirfinger and then replaces their finger back on the touch-sensitivedisplay in less than a predetermined period of time), a whitespace isinserted at the point of insertion (e.g., cursor 1714).

User interface screens 1716 and 1718 illustrate inserting a whitespaceusing the technique described above. At user interface screen 1716, theuser has still not lifted their finger from the touch-sensitive surface.At user interface screen 1718, the device detects that the touch hasbeen broken with the touch-sensitive surface. In response to detectingthat the touch has been broken with the touch-sensitive surface, thedevice inserts a whitespace character, as illustrated by character “MO”1720A (i.e., “MO<whitespace>”) in user interface screen 1720. Typically,a whitespace character does not correspond to a visible mark on thedisplay. However, the cursor 1720B may move (such as to the right) toindicate that a whitespace has been inserted at the point of insertion.

In some examples, a user can perform a swipe up to commit a character,rather than performing a hard press. In some examples, as illustrated inuser interface screen 1724 of FIG. 17D, the keyboard track does notinclude all the characters of the alphabet. In some examples, thekeyboard track includes various markers instead of the charactersavailable for insertion. In some embodiments, the one or more previewcharacters consist of only a single character, which is the focuscharacter, as shown in user interface screen 1724.

In accordance with some embodiments, the keyboard track has a QWERTYlayout, such as illustrated in user interface screen 1726 and 1728 ofFIG. 17D. Similar to the keyboard track discussed above, the QWERTYlayout can be used by swiping over to the desired key (in the verticaland the horizontal direction) to cause a preview to be displayed. Thepreview 1728A may fully or partially overlap the keyboard, such as shownin user interface screen 1728. The user can commit the focus character(e.g., “D”) in the preview by performing a hard press (characteristicintensity exceeds an intensity threshold). The user can enter a space bylifting their finger and replacing it on the touch-sensitive surface.

In accordance with some embodiments, FIG. 18 shows an exemplaryfunctional block diagram of an electronic device 1800 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 1800 are configured to perform the techniques described above.The functional blocks of the device 1800 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 18 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 18, an electronic device 1800 includes a displayingunit 1802 configured to display graphical objects; a touch-sensitivesurface unit 1804 configured to receive user gestures (e.g., touches);and a processing unit 1808 coupled to displaying unit 1802,touch-sensitive surface unit 1804. In some embodiments, the processingunit 1808 includes at least a display enabling unit 1810, a receivingunit 1812, an identifying unit 1814, and a replacing unit 1816.

The processing unit 1808 is configured to: in response to receiving theuser input: identify (e.g., with receiving unit 1812) a most recentlyaccessed user input technique of a set of user input techniques;identify (e.g., with identifying unit 1814) a least recently accesseduser input technique of the set of user input techniques; display (e.g.,with display enabling unit 1810), on the displaying unit 1802, a userinput interface of the most recently accessed user input technique; anddisplay (e.g., with display enabling unit 1810), on the displaying unit1802, a first affordance associated with a user input interface of theleast recently accessed user input technique.

In accordance with some embodiments, the user input interface of themost recently accessed user input technique may comprise a selectionaffordance associated with the most recently accessed user inputtechnique.

In accordance with some embodiments, the processing unit 1808 mayfurther be configured to: in response to receiving the user input:identify (e.g., with identifying unit 1814) a second-most recentlyaccessed user input technique of the set of user input techniques; anddisplay (e.g., with display enabling unit 1810), on the displaying unit1802, a second affordance associated with a user input interface of thesecond-most recently accessed user input technique.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are differenttechniques of the set of user input techniques.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are selected fromthe group comprising a recent contacts functionality, an all contactsfunctionality, and a dictation functionality.

In accordance with some embodiments, the most recently accessed userinput technique, the least recently accessed user input technique, andthe second-most recently accessed user input technique are selected fromthe group comprising a suggested replies functionality, an emojifunctionality, and a dictation functionality.

In accordance with some embodiments, the set of user input techniques isa closed set of predetermined input techniques.

In accordance with some embodiments, a quantity of user input techniquesof the set of user input techniques is predetermined.

In accordance with some embodiments, the first affordance provides anindication of the least recently accessed user input technique.

In accordance with some embodiments, the second affordance provides anindication of the second-most recently accessed user input technique.

In accordance with some embodiments, the first affordance, the secondaffordance, and the user input interface of the most recently accesseduser input technique are concurrently displayed.

In accordance with some embodiments, the processing unit 1808 is furtherconfigured to: receive (e.g., with receiving unit 1812) user inputassociated with the first affordance associated with the user inputinterface of the least recently accessed user input technique; and inresponse to receiving user input associated with the first affordance,the processing unit 1808 is further configured to replace (e.g., withreplacing unit 1816) display of the user input interface of the mostrecently accessed user input technique with display of the user inputinterface of the least recently accessed user input technique.

In accordance with some embodiments, the processing unit is furtherconfigured to: receive (e.g., with receiving unit 1812) user inputassociated with the first affordance associated with the user inputinterface of the least recently accessed user input technique; and inresponse to receiving user input associated with the first affordance:replace (e.g., with replacing unit 1816) display of the user inputinterface of the most recently accessed user input technique withdisplay of the user input interface of the least recently accessed userinput technique; replace (e.g., with replacing unit 1816) display of thefirst affordance associated with the user input interface of the leastrecently accessed user input technique with display of a thirdaffordance associated with the user input interface of the most recentlyaccessed user input technique; and replace (e.g., with replacing unit1816) display of the second affordance associated with the user inputinterface of the second-most recently accessed user input technique withdisplay of a fourth affordance associated with the user input interfaceof the most recently accessed user input technique.

The operations described above with reference to FIG. 7 are, optionally,implemented by components depicted in FIGS. 1A-1B or FIG. 18. Forexample, receiving operation 702, identifying operations 706 and 708,and displaying operation 710 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 19 shows an exemplaryfunctional block diagram of an electronic device 1900 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 1900 are configured to perform the techniques described above.The functional blocks of the device 1900 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 19 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 19, an electronic device 1900 includes a displayingunit 1902 configured to display graphical objects; a touch-sensitivesurface unit 1904 configured to receive user gestures (e.g., touches);and a processing unit 1908 coupled to displaying unit 1902,touch-sensitive surface unit 1904. In some embodiments, the processingunit 1908 includes at least a display enabling unit 1910, a receivingunit 1912, an determining unit 1914, a scrolling unit 1916, and anupdating 1918.

The processing unit 1808 is configured to: display (e.g., with displayenabling unit 1910), on the displaying unit 1902, a portion of a set ofinformation; receive (e.g., with receiving unit user input associatedwith the set of information; in response to receiving the user inputassociated with the set of information, scroll (e.g., with scrollingunit 1918) the set of information on the displaying unit; determine(e.g., with determining unit 1914) whether a scroll attribute satisfiesa threshold criteria; and in accordance with a determination that thescroll attribute satisfies the threshold criteria, display (e.g., withdisplay enabling unit 1910) an index object.

In accordance with some embodiments, the index object fully or partiallyoverlays at least a portion of the set of information.

In accordance with some embodiments, the scroll attribute is anattribute of scrolling of the set of information.

In accordance with some embodiments, the scroll attribute is anattribute of the user input.

In accordance with some embodiments, the threshold criteria is based onone or more of exceeding a threshold speed, exceeding a thresholdvelocity, and exceeding a threshold duration.

In accordance with some embodiments, the device comprises atouch-sensitive surface; and wherein the user input is a swipe touch onthe touch-sensitive surface.

In accordance with some embodiments, the device comprises a rotatableinput mechanism; and wherein the user input is a rotation of therotatable input mechanism.

In accordance with some embodiments, the processing unit 1908 is furtherconfigured to: in accordance with a determination that the scrollattribute does not satisfy the threshold criteria, not display the indexobject fully or partially overlaying the set of information.

In accordance with some embodiments, the index object comprises an indexbased on one or more currently displayed information of the set ofinformation.

In accordance with some embodiments, the processing unit 1908 is furtherconfigure to: determine (e.g., with determining unit 1914) whether anindex update attribute of the set of information satisfies an overlayupdate criteria; and in accordance with a determination that the indexupdate attribute of the set of information satisfies the index updatecriteria, update (e.g., with updating unit 1918) display of a visualaspect of the index object.

In accordance with some embodiments, the set of information is collated.

In accordance with some embodiments, the set of information is displayedin alphabetical order.

In accordance with some embodiments, the user input associated with theset of information comprises a first direction; and wherein theprocessing unit 1908 is further configured to: scroll (e.g., withscrolling unit 1916) at least a portion of the set of information on thedisplaying unit comprises scrolling at least a portion of the set ofinformation on the displaying unit in a second direction, wherein thesecond direction is based on the first direction.

In accordance with some embodiments, the set of information comprises aplurality of contacts.

In accordance with some embodiments, the set of information comprises alist of contacts.

In accordance with some embodiments, the set of information comprises aplurality of media attributes.

The operations described above with reference to FIGS. 9 and 10 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.19. For example, displaying operation 902, receiving operation 904, andscrolling operation 906 may be implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 20 shows an exemplaryfunctional block diagram of an electronic device 2000 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2000 are configured to perform the techniques described above.The functional blocks of the device 2000 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 20 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 20, an electronic device 2000 includes a displayingunit 2002 configured to display graphical objects; a touch-sensitivesurface unit 2004 configured to receive user gestures (e.g., touches);and a processing unit 2008 coupled to displaying unit 2002,touch-sensitive surface unit 2004. In some embodiments, the processingunit 2008 includes at least a display enabling unit 2010, a receivingunit 2012, a changing unit 2014, a transmitting unit 2016, and adetecting 2018.

The processing unit 1808 is configured to: receive (e.g., with receivingunit 2012) a user input associated with a messaging input interface; inresponse to receiving user input associated with the messaging inputinterface, display (e.g., with display enabling unit), on the displayingunit 2002, an emoji graphical object; receive (e.g., with receiving unit2012) a first user input associated with the emoji graphical object; inresponse to receiving the first user input associated with the emojigraphical object, change (e.g., with changing unit 2014) a first visualaspect of the emoji graphical object, wherein the change in the firstvisual aspect is based on the first user input; receive (e.g., withreceiving unit 2012) recipient information; and transmit (e.g., withtransmitting unit 2016) the emoji graphical object, including thechanged first visual aspect, to a recipient associated with the receivedrecipient information.

In accordance with some embodiments, the processing unit is furtherconfigured to: receive (e.g., with receiving unit 2012) a second userinput associated with the emoji graphical object; and in response toreceiving the second user input associated with the emoji graphicalobject, change (e.g., with changing unit 2014) a second visual aspect ofthe emoji graphical object, wherein the change in the second visualaspect is based on the second user input.

In accordance with some embodiments, the first visual aspect and thesecond visual aspect are different.

In accordance with some embodiments, the device having a touch-sensitivesurface, wherein: the first user input associated with the emojigraphical object comprises a touch gesture at a location on thetouch-sensitive surface associated with the first visual aspect of theemoji graphical object.

In accordance with some embodiments, the device having a touch-sensitivesurface configured to detect intensity of touches, wherein the firstuser input associated with the emoji graphical object comprises a touchgesture having a characteristic intensity; and wherein the processingunit is further configured to: in response to receiving the first userinput and in accordance with a determination that the characteristicintensity exceeds an intensity threshold, change (e.g., with thechanging unit 2014) the first visual aspect of the emoji graphicalobject comprises changing a first feature of the emoji graphical object.

In accordance with some embodiments, the processing unit is furtherconfigured to: in response to receiving the first user input and inaccordance with a determination that the characteristic intensity doesnot exceed the intensity threshold, change (e.g., with the changing unit2014) the first visual aspect of the emoji graphical object compriseschange (e.g., with the changing unit 2014) a second feature of the emojigraphical object different than the first feature.

In accordance with some embodiments, the device having a rotatable inputmechanism, wherein: the first user input associated with the emojigraphical object comprises a rotation of the rotatable input mechanism.

In accordance with some embodiments, the device having a touch-sensitivesurface and a rotatable input mechanism, wherein: the first user inputassociated with the emoji graphical object comprises a touch gesture ata location on the touch-sensitive surface associated with the firstvisual aspect of the emoji graphical object and a rotation of therotatable input mechanism.

In accordance with some embodiments, wherein to transmit the emojigraphical object, the processing unit is further configured to transmit(e.g., with transmitting unit 2016) the emoji graphical object inresponse to receiving a third user input associated with a selectionaffordance.

In accordance with some embodiments, the processing unit is furtherconfigured to: prior to transmitting the emoji graphical object, add(e.g., with content adding unit 2020) the emoji graphical object to amessage body in response to receiving a fourth user input.

In accordance with some embodiments, the emoji graphical object is ananimated emoji graphical object.

In accordance with some embodiments, to change the first visual aspectof the emoji graphical object, the processing unit is further configuredto animate (e.g., with animating unit 2022) a change in the first visualaspect of the emoji graphical object.

The operations described above with reference to FIG. 12 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.20. For example, receiving operation 1202, displaying operation 1204,and changing operation 1208 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 21 shows an exemplaryfunctional block diagram of an electronic device 2100 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2100 are configured to perform the techniques described above.The functional blocks of the device 2100 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 21 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 21, an electronic device 2100 includes a displayingunit 2102 configured to display graphical objects; a touch-sensitivesurface unit 2104 configured to receive user gestures (e.g., touches);and a processing unit 2108 coupled to displaying unit 2102,touch-sensitive surface unit 2104. In some embodiments, the processingunit 2108 includes at least a display enabling unit 2110, a receivingunit 2112, a replacing unit 2114, a detecting 2116, and an updating unit2118.

The processing unit 2108 is configured to: display (e.g., with displayenabling unit 2110), on the displaying unit 2102, a first page of a userinterface and a first set of paging affordances, wherein the first setof paging affordances comprises a first paging affordance that includesa focus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; receive (e.g., with receiving unit2112) a user touch at a first location on the touch-sensitive surfaceunit, wherein the first location is associated with the first set ofpaging affordances; in response to receiving the user touch at the firstlocation, replace (e.g., with replacing unit 2114) display of the firstset of paging affordances with display of a second set of pagingaffordances, wherein the second set of paging affordances comprises asecond paging affordance that corresponds to a second page of the userinterface; while continuing to receive the user touch, detect (e.g.,with detecting unit 2116) movement of the user touch from the firstlocation to a second location on the touch-sensitive surface unitwithout a break in contact of the user touch on the touch-sensitivesurface unit, wherein the second location is associated with the secondpaging affordance; and in response to detecting the user touch at thesecond location, display (e.g., with display enabling unit 2110) thesecond page of the user interface.

In accordance with some embodiments, the processing unit 2108 is furtherconfigured to: detect (e.g., with detecting unit 2116) a lift-off of theuser touch from the touch-sensitive surface unit at the second location;and in response to detecting the lift-off of the user touch at thesecond location, maintain display (e.g., with display enabling unit2110) of the second page of the user interface.

In accordance with some embodiments, the processing unit 2108 is furtherconfigured to: while continuing to receive the user touch, detect (e.g.,with detecting unit 2116) a characteristic intensity of the user touchat the second location on the touch-sensitive surface unit and detect asubsequent lift-off of the user touch from the touch-sensitive surfaceunit; and in accordance with a determination that the characteristicintensity exceeds an intensity threshold, maintain display (e.g., withdisplay enabling unit 2110), on the displaying unit 2102, of the secondpage of the user interface.

In accordance with some embodiments, the processing unit 2108 is furtherconfigured to: in accordance with a determination that thecharacteristic intensity does not exceed the intensity threshold,replace (e.g., with replacing unit 2114) display of the second page ofthe user interface with display of the first page of the user interface.

In accordance with some embodiments, the processing unit 2108 is furtherconfigured to: in response to detecting the user touch at the secondlocation, update (e.g., with updating unit 2118) the second pagingaffordance to include a focus selector.

In accordance with some embodiments, to display the second page of theuser interface, the processing unit 2108 is further configured to:replace (e.g., with replacing unit display of the first page of the userinterface with display of the second page of the user interface.

In accordance with some embodiments, to display the second set of pagingaffordances, the processing unit 2108 is further configured to display(e.g., with display enabling unit 2110) an enlarged version of the firstset of paging affordances.

In accordance with some embodiments, the first page of the userinterface and the second page of the user interface are different.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises an animation of the first set of pagingaffordances enlarging.

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

The operations described above with reference to FIG. 14A are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.21. For example, displaying operation 1402, receiving operation 1404,and detecting operation 1408 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 22 shows an exemplaryfunctional block diagram of an electronic device 2200 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2200 are configured to perform the techniques described above.The functional blocks of the device 2200 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 22 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 22, an electronic device 2200 includes a displayingunit 2202 configured to display graphical objects; a touch-sensitivesurface unit 2204 configured to receive user gestures (e.g., touches);and a processing unit 2208 coupled to displaying unit 2202,touch-sensitive surface unit 2204. In some embodiments, the processingunit 2208 includes at least a display enabling unit 2210, a receivingunit 2212, a replacing unit 2214, a detecting 2216, and an updating unit2218.

The processing unit 2208 is configured to: display (e.g., with displayenabling unit 2210), on the displaying unit 2202, a first page, of aplurality of pages, of a user interface and a first set of pagingaffordances, wherein the first set of paging affordances comprises afirst paging affordance that includes a focus selector, and wherein thefirst paging affordance corresponds to the first page of the userinterface; receive (e.g., with receiving unit 2212) a user touch at afirst location on the touch-sensitive surface unit, the first locationcorresponding to the first set of paging affordances; responsive toreceiving the user touch at the first location, replace (e.g., withreplacing unit 2214) display of the first set of paging affordances withdisplay of a second set of paging affordances, wherein the second set ofpaging affordances comprises a first paging affordance that includes afocus selector, and wherein the first paging affordance corresponds tothe first page of the user interface; while continuing to receive theuser touch, detect (e.g., with detecting unit 2216) movement of the usertouch from the first location to a second location on thetouch-sensitive surface unit without breaking contact with thetouch-sensitive surface, wherein the second location is associated withthe second paging affordance; and responsive to detecting the user touchat the second location: replace (e.g., with replacing unit 2214) displayif the first page with a second page of the plurality of pages; andupdate (e.g., with updating unit 2218) the second set of pagingaffordances, wherein the updating comprises removing the focus selectorfrom the first paging affordance of the set and displaying a secondpaging affordance of the set of paging affordances with the focusselector.

In accordance with some embodiments, the processing unit 2208 is furtherconfigured to: detect (e.g., with detecting unit 2216) a lift-off of theuser touch from the touch-sensitive surface at the second location; andin response to detecting the lift-off of the user touch at the secondlocation, maintain display (e.g., with display enabling unit 2210) ofthe second page of the user interface.

In accordance with some embodiments, the processing unit 2208 is furtherconfigured to: while continuing to receive the user touch, detect (e.g.,with detecting unit 2216) a characteristic intensity of the user touchat the second location on the touch-sensitive surface and detecting asubsequent lift-off of the user touch from the touch-sensitive surface;and in accordance with a determination that the characteristic intensityexceeds an intensity threshold, maintain display (e.g., with displayenabling unit 2210) of the second page of the user interface.

In accordance with some embodiments, to display the second set of pagingaffordances, the processing unit 2208 is further configured to display(e.g., with display enabling unit 2210) an enlarged version of the firstset of paging affordances.

In accordance with some embodiments, the first page of the userinterface and the second page of the user interface are different.

In accordance with some embodiments, displaying the second set of pagingaffordances comprises animating the first set of paging affordancesenlarging.

In accordance with some embodiments, each paging affordance in thesecond set of paging affordances is associated with a corresponding pageof the user interface.

The operations described above with reference to FIG. 14B are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.22. For example, displaying operation 1422, receiving operation 1424,and detecting operation 1428 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

In accordance with some embodiments, FIG. 23 shows an exemplaryfunctional block diagram of an electronic device 2300 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2300 are configured to perform the techniques described above.The functional blocks of the device 2300 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 23 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 23, an electronic device 2300 includes a displayingunit 2302 configured to display graphical objects; a touch-sensitivesurface unit 2304 configured to receive user gestures (e.g., touches);and a processing unit 2308 coupled to displaying unit 2302,touch-sensitive surface unit 2304. In some embodiments, the processingunit 2308 includes at least a display enabling unit 2310, a receivingunit 2312, a changing unit 2314, a transmitting 2316, and a replacingunit 2318.

The processing unit 2308 is configured to: receive (e.g., with receivingunit 2312) a first user input; in response to receiving the first userinput, display (e.g., with display enabling unit 2310), on thedisplaying unit 2302, a dictation user interface; receive (e.g., withreceiving unit 2312) a second user input; responsive to receiving thesecond user input, replace (e.g., with replacing unit 2318) display ofthe dictation user interface with display of a first emoji graphicalobject; receive (e.g., with receiving unit 2312) a first user swipegesture input at a location on the touch-sensitive surface unitassociated with the first emoji graphical object; in response toreceiving the first user swipe gesture input, replace (e.g., withreplacing unit 2318) display of the first emoji graphical object withdisplay of a second emoji graphical object; receive (e.g., withreceiving unit 2312) a second user swipe gesture input at thetouch-sensitive surface unit; and in response to receiving the seconduser swipe gesture input, display (e.g., with display enabling unit2310) a set of recently accessed emoji graphical objects.

In accordance with some embodiments, the set of recently accessed emojigraphical objects comprises: one or more emoji graphical objects,wherein the one or more emoji graphical objects are selected based onemoji graphical objects recently accessed by an external electronicdevice.

In accordance with some embodiments, the set of recently accessed emojigraphical objects comprises: one or more visually manipulatable emojigraphical objects, wherein the one or more visually manipulatable emojigraphical objects are selected based on visually manipulatable emojigraphical objects recently accessed by a wirelessly linked externalelectronic device.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) a third userinput; in response to receiving the third user input, display (e.g.,with display enabling unit 2310) a suggested replies user inputinterface; and wherein the suggested replies user input interfaceincludes one or more suggested responses.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) user inputrepresenting a touch associated with a first suggested response of theone or more suggested responses; and in response to receiving user inputrepresenting the touch associated with the first suggested response, add(e.g., with content adding unit 2320) the first suggested response asresponse information to an electronic message.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) a fourth userinput; and in response to receiving the fourth user input, display(e.g., with display enabling unit 2310) the dictation user interface.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) user inputrepresenting speech; and in response to receiving user inputrepresenting speech: transcribe (e.g., with transcribing unit 2322) theuser input representing speech, and add (e.g., with content adding unit2320) the transcribed speech to an electronic message.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) a fifth userinput; and in response to receiving the fifth user input, display (e.g.,with display enabling unit 2310) one or more keys of a keyboard.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) a sixth userinput, the sixth user input associated with the second emoji graphicalobject; and in response to receiving the sixth user input associatedwith the second emoji graphical object, change (e.g., with changing unit2314) a first visual aspect of the second emoji graphical object,wherein the change in the first visual aspect is based on the sixth userinput.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: receive (e.g., with receiving unit 2312) a third userswipe gesture input; and in response to receiving the third user swipegesture input, replace (e.g., with replacing unit 2318) display of thesecond emoji graphical object with display of a third emoji graphicalobject.

In accordance with some embodiments, the processing unit 2308 is furtherconfigured to: transmit (e.g., with transmitting unit 2316) anelectronic message to a recipient, the electronic message includingresponse information.

In accordance with some embodiments, the first emoji graphical objectand the second emoji graphical object are different; and the first emojigraphical object and the second emoji graphical object are selected fromthe group comprising a smiley, a heart, and a thumb signal.

The operations described above with reference to FIG. 16 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.23. For example, receiving operation 1602 and displaying operation 1604may be implemented by event sorter 170, event recognizer 180, and eventhandler 190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIG. 24 is a flow diagram illustrating a method for receiving user inputusing an electronic device in accordance with some embodiments, such asthose illustrated in FIG. 17A-17D. Method 2400 is performed at a device(e.g., 100, 300, 500) with a touch-sensitive (e.g., touchscreen)display. Some operations in method 2400 may be combined, the order ofsome operations may be changed, and some operations may be omitted.

As described below, method 2400 provides an intuitive way for receivinguser input. The method reduces the cognitive burden on a user forentering characters using a keyboard, thereby creating a more efficienthuman-machine interface. For battery-operated computing devices,enabling a user to enter characters faster and more efficientlyconserves power and increases the time between battery charges.

At block 2402, the device displays a keyboard (e.g., 1708A) and a textentry interface, the text entry interface comprising a characterinsertion point.

At block 2404, the device detects a touch user input (e.g., at 1708)with a first characteristic intensity at a first location on thetouch-sensitive display, the first location associated with the keyboardand corresponding to a first character (e.g., character M).

At block 2406, the device determines a first characteristic intensity ofthe touch user input at the first location and whether thecharacteristic intensity exceeds an intensity threshold.

At block 2408, in accordance with a determination that the firstcharacteristic intensity of the touch user input does not exceed theintensity threshold, the device displays a preview (e.g., 1708B) of thefirst character on the touch-sensitive display (e.g., the user performsa light touch or resting contact at a location on the displayed keyboardand the corresponding character is displayed above the location of thetouch user input).

At block 2410, in accordance with a determination that the firstcharacteristic intensity of the touch user input at the first locationexceeds the intensity threshold (e.g., user performed a hard press), thedevice displays the first character at the character insertion point(e.g., 1710B) on the touch-sensitive display (e.g., insert the characterat a cursor).

In accordance with some embodiments, while continuing to detect thetouch user input on the touch-sensitive display: the device detectsmovement (e.g., movement of the finger as shown in 1710 and 1712) of thetouch user input from the first location to a second location (e.g.,different from the first location) on the touch-sensitive display andwith a second characteristic intensity, the second location associatedwith the keyboard (e.g., 1712A) and corresponding to a second character(e.g., character O). The device determines a second characteristicintensity of the touch user input at the second location. In accordancewith a determination that the second characteristic intensity of thetouch user input does not exceed the intensity threshold, the devicedisplays a preview (e.g., 1712B) of the second character on thetouch-sensitive display (e.g., the user performs a light touch orresting contact at a location on the displayed keyboard and thecorresponding character is displayed above the location of the touchuser input). In accordance with a determination that the secondcharacteristic intensity of the touch user input at the second locationexceeds the intensity threshold (e.g., user performed a hard press), thedevice displays the second character at the character insertion point(e.g., 1714C) on the touch-sensitive display (e.g., inserts thecharacter at a cursor).

In accordance with some embodiments, a characteristic intensity of thetouch user input while moving from the first location to the secondlocation does not exceed the intensity threshold.

In accordance with some embodiments, the device determines that thetouch user input is no longer detected on the touch-sensitive display(e.g., user performs a lift-off of their finger). In accordance with adetermination that the touch user input is no longer detected (e.g., theuser is no longer touching the touch-sensitive display), the devicedisplays a whitespace at the character insertion point on thetouch-sensitive display, as illustrated by character “MO” 1720A (i.e.,“MO<whitespace>”) in user interface screen 1720. Thus, the devicedisplays a whitespace character when the user lifts their finger off thetouch-sensitive display.

In accordance with some embodiments, the device determines that thetouch user input is no longer detected (e.g., user performs a lift offof their finger). Subsequent to determining that the touch user input isno longer detected, the device detects a second touch user input at asecond location on the touch-sensitive display, the second locationassociated with the keyboard. In response to detecting the second touchuser input (e.g., the user picks up and replaces their finger), thedevice displays a whitespace at the character insertion point on thetouch-sensitive display. Thus, the device displays a whitespacecharacter when a user lifts and replaces their finger on thetouch-sensitive display.

In accordance with some embodiments, the device determines that thetouch user input is no longer detected (e.g., user performs a hardpress) at a first time. Subsequent to determining that the touch userinput is no longer detected, detecting a second touch user input at asecond location on the touch-sensitive display at a second time, thesecond location associated with the keyboard. In response to detectingthe second touch user input (e.g., the user picks up and replaces theirfinger) and in accordance with a determination that the second time iswithin a predetermined period of time after the first time, displaying awhitespace at the character insertion point on the touch-sensitivedisplay. Thus, the device displays a whitespace character when a userlifts and (within a predetermined period of time) replaces their fingeron the touch-sensitive display.

In accordance with some embodiments, alphabet characters of the keyboardare arranged in alphabetical order (e.g., keyboard 1708A). In accordancewith some embodiments, alphabet characters of the keyboard are arrangedin a QWERTY configuration (e.g., the keyboard of 1726).

Note that details of the processes described above with respect tomethod 2400 (e.g., FIGS. 24 and 17A-17D) are also applicable in ananalogous manner to the methods described above. For example, the abovemethods 700, 900, 1000, 1200, 1400, and 1600 may include one or more ofthe characteristics of the various methods described above withreference to method 2400. For brevity, these details are not repeated.

In accordance with some embodiments, FIG. 25 shows an exemplaryfunctional block diagram of an electronic device 2500 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2500 are configured to perform the techniques described above.The functional blocks of the device 2500 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 25 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 25, an electronic device 2500 includes atouch-sensitive display unit 2502 configured to display a graphic userinterface and to receive contacts. The touch-sensitive display unit 2502is coupled to a processing unit 2504. In some embodiments, theprocessing unit 2504 includes a display enabling unit 2506, a detectingunit 2508, and a determining unit 2510.

The processing unit 2504 is configured to: display (e.g., with displayenabling unit 2506) a keyboard and a text entry interface, the textentry interface comprising a character insertion point; detect (e.g.,with detecting unit 2508) a touch user input with a first characteristicintensity at a first location on the touch-sensitive display unit (e.g.,2502), the first location associated with the keyboard and correspondingto a first character; determine (e.g., with determining unit 2510) afirst characteristic intensity of the touch user input at the firstlocation; in accordance with a determination that the firstcharacteristic intensity of the touch user input does not exceed anintensity threshold, display (e.g., with display enabling unit 2506) apreview of the first character on the touch-sensitive display unit(e.g., 2502); and in accordance with a determination that the firstcharacteristic intensity of the touch user input at the first locationexceeds the intensity threshold, display (e.g., with display enablingunit 2506) the first character at the character insertion point on thetouch-sensitive display unit (e.g., 2502).

In accordance with some embodiments, the processing unit 2504 is furtherconfigured to: while continuing to detect (e.g., with detecting unit2508) the touch user input on the touch-sensitive display unit (e.g.,2502): detect (e.g., with detecting unit 2508) movement of the touchuser input from the first location to a second location on thetouch-sensitive display unit (e.g., 2502) and with a secondcharacteristic intensity, the second location associated with thekeyboard and corresponding to a second character; determine (e.g., withdetermining unit 2510) a second characteristic intensity of the touchuser input at the second location; in accordance with a determinationthat the second characteristic intensity of the touch user input doesnot exceed the intensity threshold, display (e.g., with display enablingunit 2506) a preview of the second character on the touch-sensitivedisplay unit (e.g., 2502); and in accordance with a determination thatthe second characteristic intensity of the touch user input at thesecond location exceeds the intensity threshold, display (e.g., withdisplay enabling unit 2506) the second character at the characterinsertion point on the touch-sensitive display unit (e.g., 2502).

In accordance with some embodiments, a characteristic intensity of thetouch user input while moving from the first location to the secondlocation does not exceed the intensity threshold.

In accordance with some embodiments, the processing unit 2504 is furtherconfigured to: determine (e.g., with determining unit 2510) that thetouch user input is no longer detected on the touch-sensitive displayunit (e.g., 2502); and in accordance with a determination that the touchuser input is no longer detected, display (e.g., with display enablingunit 2506) a whitespace at the character insertion point on thetouch-sensitive display unit (e.g., 2502).

In accordance with some embodiments, the processing unit 2504 is furtherconfigured to: determine (e.g., with determining unit 2510) that thetouch user input is no longer detected; subsequent to determining thatthe touch user input is no longer detecting, detect (e.g., withdetecting unit 2508) a second touch user input at a second location onthe touch-sensitive display unit (e.g., 2502), the second locationassociated with the keyboard; and in response to detecting the secondtouch user input, display (e.g., with display enabling unit 2506) awhitespace at the character insertion point on the touch-sensitivedisplay unit (e.g., 2502).

In accordance with some embodiments, the processing unit 2504 is furtherconfigured to: determine (e.g., with determining unit 2510) that thetouch user input is no longer detected at a first time; subsequent todetermining that the touch user input is no longer detected, detect(e.g., with detecting unit 2508) a second touch user input at a secondlocation on the touch-sensitive display unit (e.g., 2502) at a secondtime, the second location associated with the keyboard; in response todetecting the second touch user input and in accordance with adetermination that the second time is within a predetermined period oftime after the first time, display (e.g., with display enabling unit2506) a whitespace at the character insertion point on thetouch-sensitive display unit (e.g., 2502).

In accordance with some embodiments, alphabet characters of the keyboardare arranged in alphabetical order. In accordance with some embodiments,alphabet characters of the keyboard are arranged in a QWERTYconfiguration.

The operations described above with reference to FIG. 24 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.25. For example, displaying operation 2402, detecting operation 2404,and determining operation 2406 may be implemented by event sorter 170,event recognizer 180, and event handler 190. Event monitor 171 in eventsorter 170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface corresponds to a predefined event or sub event,such as activation of an affordance on a user interface. When arespective predefined event or sub-event is detected, event recognizer180 activates an event handler 190 associated with the detection of theevent or sub-event. Event handler 190 may utilize or call data updater176 or object updater 177 to update the application internal state 192.In some embodiments, event handler 190 accesses a respective GUI updater178 to update what is displayed by the application. Similarly, it wouldbe clear to a person having ordinary skill in the art how otherprocesses can be implemented based on the components depicted in FIGS.1A-1B.

FIGS. 26A-26N illustrate exemplary user interfaces for receiving userinput, in accordance with some embodiments. The user interfaces in thesefigures are used to illustrate the processes described below, includingthe processes in FIG. 28. The user interfaces may be displayed, forexample, at an electronic device (e.g., 100, 300, 500) with a displayand a touch-sensitive surface configured to detect intensities ofcontacts.

At FIG. 26A, the device displays a user interface 2600A. The userinterface 2600A includes a set of one or more affordances 2600C and2600D (e.g., a first set of one or more affordances are displayed at afirst position on the display). The user interface 2600A may alsoinclude, for example, a title 2600A and a partitioning element 2600Bthat separates the title 2600A from the set of one or more affordances2600C and 2600D.

At FIG. 26B, while displaying the user interface 2600, the devicereceives a user input 2602, as illustrated by the dotted fingerprintoutline, on the touch-sensitive surface. The device determines acharacteristic intensity of the user input. In accordance with adetermination that the characteristic intensity of the user inputexceeds an intensity threshold (e.g., without regard to a location ofthe user input on the touch-sensitive surface), the device determineswhether a contextual affordance (e.g., a second set of one or morecontextual affordances, the contextual menu) is available for the userinterface.

At FIG. 26C, in accordance with a determination that the contextualaffordance 2610C is available (e.g., based on a current state of thedevice), the device displays the contextual affordance 2610C. Forexample, the device may display a contextual affordance(s) or acontextual menu (e.g., 2610A, 2610B, 2610C of user interface 2610) ontop of the first set of one or more affordances or may replace the firstset of one or more affordances. In some examples, the device ceases todisplay the user interface 2600 and/or the affordance 2600C whendisplaying the contextual affordance 2610C. Thus, when the devicedetects a hard press (exceeding a threshold) and determines that acontextual menu is available for the current state of the device, thedevice displays the contextual menu (e.g., including one or morecontextual affordances).

FIGS. 26D-26G illustrate one example of a visual indication that thecontextual affordance(s) is not available for the user interface. Asillustrated in FIGS. 26D-26G, in accordance with a determination thatthe contextual affordance is not available (e.g., based on the currentstate of the device), the device displays a visual indication (such asthe left-right shift of 2600A, 2600B, 2600C, 2600D) that the contextualaffordance is not available for the user interface. Thus, when thedevice detects a hard press, the device displays a contextual menu (ifit is available) or indicates to the user that a contextual menu is notavailable. By providing a visual indication that a contextual menu isnot available, the user does not misinterpret the failure of a displayof a contextual menu as a failure of the device to receive the userinput. In other embodiments, the indication may be a non-visualindication (or a combination of a visual and non-visual indication),such as an audio indication, a haptic indication, or a combination ofaudio and haptic indication.

As illustrated in FIGS. 26D-26G, in some embodiments, displaying thevisual indication comprises shifting the display of the set of one ormore affordances 2600C and 2600D of the user interface 2600 one or moretimes (e.g., shifting an affordance of the set, shifting the first setof affordances, or the entire user interface shifts left to a secondposition, then shifts right to go past the first position to a thirdposition, then shifts left to go to back the first position) on thedisplay (and forgoing display of a contextual object). For example, thisside-to-side shake indicates to the user that there is no contextualmenu available for the current state of the device.

In some embodiments, displaying the visual indication comprises shiftingthe display of the set of one or more affordances 2600C and 2600D of theuser interface one or more times in the left and right directions (e.g.,the first set of affordances or the entire user interface shifts left toa second position, then shifts right to go past the first position to athird position, then shifts left to go to back the first position) onthe display (and forgoing display of a contextual object). For example,this side-to-side shake indicates to the user that there is nocontextual menu available for the current state of the device.

In some embodiments, displaying the visual indication comprisesanimating a horizontal shake of the set of one or more affordances. Insome embodiments, displaying the visual indication comprises animating avertical shake of the set of one or more affordances.

FIGS. 26H-26J illustrate another example of a visual indication that thecontextual affordance is not available for the user interface. Asillustrated in FIGS. 26H-26J, in some embodiments, displaying the visualindication comprises reducing (as shown in FIG. 26I) the size of a firstaffordance 2600C of the set of one or more affordances of the userinterface 26000 on the display, and subsequent to reducing the size ofthe first affordance 2600C of the set of one or more affordances 2600,increasing (e.g., as shown in FIG. 26J) the size of the first affordance2600C of the set of one or more affordances 2600 on the display. Forexample, a first affordance 2600C (or, alternatively, the entire userinterface) appears to push into the display (and therefore lookssmaller) and then pops back out (and therefore returns to its originalsize). For example, this pushing in and popping back up motion indicatesto the user that there is no contextual menu available for the currentstate of the device.

In some embodiments, displaying the visual indication comprisesoscillating (e.g., the size, location, rotation) a first affordance ofthe set of one or more affordances of the user interface (or,alternatively, the entire user interface) on the display.

FIG. 26K illustrates an “Add Recent Contacts” user interface 2620. Thisuser interface includes affordances (e.g., 2620A, 2620B, 2620C), which,when activated, cause the corresponding recent contact to be added as arecipient to a new message. Affordance 2620D, when activated, causesdisplay of affordances for all contacts (rather than recent contacts).Affordance 2620E, when activated, causes a microphone of the device tobecome active for transcribing user speech into text.

In some embodiments, in accordance with a determination that thecharacteristic intensity of the user input 2602 does not exceed theintensity threshold, the device performs an action based on a locationof the user input on the touch-sensitive surface. For example, thedevice determines that the input 2602 is for activating an affordance2600C of the set of one or more affordances that corresponds to thelocation of the user input 2602. Thus, the user input 2602 illustratedat FIG. 26B activates affordance 2600C, and causes the device to display“Add Recent Contacts” user interface 2620 at FIG. 26K.

In some embodiments, in accordance with a determination that thecharacteristic intensity of the user input 2602 does not exceed theintensity threshold, the device determines whether a location of theuser input 2602 corresponds to a location of an affordance 2600C of theset of one or more affordances. In accordance with a determination thatthe user input 2602 corresponds to the location of the affordance 2600Cof the set of one or more affordances, the device performs an actionassociated with the affordance of the set of one or more affordances,such as the action of displaying the “Add Recent Contacts” userinterface 2620 of FIG. 26K.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises launching anapplication associated with the affordance. Thus, activating theaffordance causes the device to launch an application.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises displayingone or more characters in a text field. Thus, activating the affordance(e.g., a key of a display keyboard) causes the device to display acharacter (e.g., the character associated with the key of the displayedkeyboard) into the text field.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises activating anaction associated with a notification. In some embodiments, performingthe action associated with the affordance of the set of one or moreaffordances comprises displaying one or more emoji in a text field.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises activatingvoice input functionality for transcription into a text field. Forexample, the device enters a mode in which a microphone is activated andspeech is transcribed and entered into the text field.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises activating auser interface for adding an emoji into a text field. In someembodiments, performing the action associated with the affordance of theset of one or more affordances comprises activating a user interface fortranscribing voice input.

FIG. 26L illustrates contextual user interface 2610, including a seconduser input 2612, as indicated by the dotted fingerprint outline. In someembodiments, while displaying the contextual affordance 2610C (e.g., thesecond set of one or more affordances; the contextual menu), the devicereceives a second user input 2612 on the touch-sensitive surface. Thedevice determines a characteristic intensity of the second user input2612. In accordance with a determination that the characteristicintensity of the second user input 2612 exceeds a second intensitythreshold, the device ceases to display the contextual affordance 2610C(e.g., the second set of one or more affordances; the contextual menu)and displays the set of one or more affordances 2600C and 2600D, asillustrated in FIG. 26M. Thus, this second user input 2612 dismisses thecontextual menu and displays the initial user interface.

In some embodiments, while displaying the contextual affordance 2610C(e.g., a second set of one or more contextual affordances; thecontextual menu), the device receives a second user input 2612 on thetouch-sensitive surface. The device determines a characteristicintensity of the second user input 2612. In accordance with adetermination that the characteristic intensity of the second user input2612 does not exceed the second intensity threshold, the device performsa second action based on a location of the second user input 2612. Forexample, this second user input 2612 activates a contextual affordance2630C corresponding to the location of the second user input 2612 on thetouch-sensitive surface, which causes the device to display a userinterface 2630 of FIG. 26N.

FIG. 26N illustrates the user interface 2630, including an affordance2630A (which when activated causes messages to be delivered as SMSmessages, rather than messages over a data network), affordance 2630B(which when activated causes group MMS to be enabled for a messagingapplication), and affordance 2630C (which when activated displays a listof blocked callers and options to add/remove callers to the list ofblocked callers).

In some embodiments, while the device displays the contextual affordance2610C (e.g., the second set of one or more affordances; the contextualmenu), the device receives a second user input 2612 on thetouch-sensitive surface. In accordance with a determination that thecharacteristic intensity of the second user input 2612 does not exceedthe second intensity threshold, the device determines whether a locationof the second user input 2612 corresponds to a location of thecontextual affordance. In accordance with a determination that thesecond user input 2612 corresponds to the location of the contextualaffordance, the device performs a second action associated with thecontextual affordance 2610C (e.g., activating the displayed contextualaffordance 2610C corresponding to the location of the second userinput). For example, this second user input 2612 activates a contextualaffordance 2630C corresponding to the location of the second user input2612 on the touch-sensitive surface, which causes the device to displaythe user interface 2630 of FIG. 26N.

In some embodiments, the intensity threshold is the same as the secondintensity threshold. In other embodiments, the intensity threshold isdifferent from the second intensity threshold.

FIG. 27 is a flow diagram illustrating a method for receiving user inputusing an electronic device in accordance with some embodiments. Method2700 is performed at a device (e.g., 100, 300, 500) with a display and atouch-sensitive surface. The touch-sensitive surface is configured todetect intensities of contacts. Some operations in method 2700 may becombined, the order of some operations may be changed, and someoperations may be omitted.

As described below, method 2700 provides an intuitive way to receiveuser input. The method reduces the cognitive burden on a user bysimplifying access to a contextual menu, thereby creating a moreefficient human-machine interface. For battery-operated computingdevices, enabling a user to access a contextual menu faster and moreefficiently conserves power and increases the time between batterycharges.

At block 2702, the device displays a user interface (e.g., 2600)including a set of one or more affordances (e.g., 2600C and 2600D). Atblock 2704, while displaying the user interface (e.g., 2600), the devicereceives a user input (e.g., 2602) on the touch-sensitive surface. Atblock 2706, the device determines whether a characteristic intensity ofthe user input exceeds an intensity threshold. At block 2708, inaccordance with a determination that the characteristic intensity of theuser input exceeds an intensity threshold, the device determines whethera contextual affordance is available for the user interface.

At block 2712, in accordance with a determination that the contextualaffordance is available, the device displays the contextual affordance(e.g., 2610C). At block 2710, in accordance with a determination thatthe contextual affordance (e.g., 2610C) is not available, the devicedisplays a visual indication (e.g., as illustrated in FIGS. 26D-26G orFIGS. 26H-26J) that the contextual affordance (e.g., 2610C) is notavailable for the user interface (e.g., 2600).

In some embodiments, the visual indication comprises shifting thedisplay of the set of one or more affordances of the user interface oneor more times (e.g., shifting an affordance of the set, shifting thefirst set of affordances, or shifting the entire user interface shiftsleft to a second position, then shifts right to go past the firstposition to a third position, then shifts left to go to back the firstposition) on the display (and forgoing display of a contextual object).For example, this side-to-side shake indicates to the user that there isno contextual menu available for the current state of the device.

In some embodiments, displaying the visual indication comprises shiftingthe display of the set of one or more affordances of the user interfaceone or more times in the left and right directions (e.g., the first setof affordances or the entire user interface shifts left to a secondposition, then shifts right to go past the first position to a thirdposition, then shifts left to go to back the first position) on thedisplay (and forgoing display of a contextual object). For example, thisside-to-side shake indicates to the user that there is no contextualmenu available for the current state of the device.

In some embodiments, displaying the visual indication comprises reducingthe size of a first affordance of the set of one or more affordances ofthe user interface on the display, and subsequent to reducing the sizeof the first affordance of the set of one or more affordances,increasing the size of the first affordance of the set of one or moreaffordances on the display. For example, a first affordance (or,alternatively, the entire user interface) pushes in (and therefore lookssmaller) and then pops back out (and therefore returns to its originalsize). For example, this pushing in and popping back up motion indicatesto the user that there is no contextual menu available for the currentstate of the device.

In some embodiments, displaying the visual indication comprisesoscillating (e.g., the size, location, rotation) a first affordance ofthe set of one or more affordances of the user interface (or,alternatively, the entire user interface) on the display. In someembodiments, displaying the visual indication comprises animating ahorizontal shake of the set of one or more affordances. In someembodiments, displaying the visual indication comprises animating avertical shake of the set of one or more affordances.

At block 2726, in some embodiments, in accordance with a determinationthat the characteristic intensity of the user input does not exceed theintensity threshold, the device determines whether a location of theuser input (e.g., 2602) corresponds to a location of an affordance(e.g., 2600C) of the set of one or more affordances. At block 2728, inaccordance with a determination that the user input (e.g., 2602)corresponds to the location of the affordance (e.g., 2600C) of the setof one or more affordances, the device performs an action associatedwith the affordance (e.g., 2600C) of the set of one or more affordances.At block 2730, in accordance with a determination that the user inputdoes not correspond to the location of an affordance of the set of oneor more affordances, the device forgoes performing (or does not perform)an action associated with an affordance of the set of one or moreaffordances.

In some embodiments, in accordance with a determination that thecharacteristic intensity of the user input does not exceed the intensitythreshold, the device performs an action based on a location of the userinput (e.g., activating an affordance of the set of one or moreaffordances that corresponds to the location of the user input) on thetouch-sensitive surface.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises launching anapplication associated with the affordance. In some embodiments,performing the action associated with the affordance of the set of oneor more affordances comprises displaying one or more characters in atext field. In some embodiments, performing the action associated withthe affordance of the set of one or more affordances comprisesactivating an action associated with a notification. In someembodiments, performing the action associated with the affordance of theset of one or more affordances comprises displaying one or more emoji ina text field. In some embodiments, performing the action associated withthe affordance of the set of one or more affordances comprisesactivating voice input functionality for transcription into a textfield. In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises activating auser interface for adding an emoji into a text field. In someembodiments, performing the action associated with the affordance of theset of one or more affordances comprises activating a user interface fortranscribing voice input.

In some embodiments, at block 2714, while displaying the contextualaffordance (e.g., 2610C), the device receives a second user input (e.g.,2612) on the touch-sensitive surface. At block 2716, the devicedetermines whether a characteristic intensity of the second user input(e.g., 2612) exceeds a second intensity threshold.

In some embodiments, at block 2718, in accordance with a determinationthat the characteristic intensity of the second user input (e.g., 2612)exceeds the second intensity threshold, the device ceases display of thecontextual affordance and displays the set of one or more affordances(e.g., 2600C and 2600D).

In some embodiments, at block 2720, in accordance with a determinationthat the characteristic intensity of the second user input (e.g., 2612)does not exceed the second intensity threshold, the device determineswhether a location of the second user input (e.g., 2612) corresponds toa location of the contextual affordance (e.g., 2610C). At block 2722, inaccordance with a determination that the second user input (e.g., 2612)corresponds to the location of the contextual affordance (e.g., 2610C),the device performs a second action associated with the contextualaffordance (e.g., 2610C). At block 2724, in accordance with adetermination that the second user input (e.g., 2612) does notcorrespond to the location of the contextual affordance (e.g., 2610C),the device forgoes (or does not perform) a second action associated withthe contextual affordance (e.g., 2610C).

In some embodiments, in accordance with a determination that thecharacteristic intensity of the second user input does not exceed thesecond intensity threshold, the device performs a second action based ona location of the second user input (e.g., activating the displayedcontextual affordance corresponding to the location of the second userinput) on the touch-sensitive surface.

In some embodiments, the intensity threshold is the same as the secondintensity threshold. This provides a consistent user interface. In otherembodiments, the intensity threshold is different from the secondintensity threshold. This provides the ability to make performingcertain functions more or less difficult. For example, a harder pressmay be needed on the touch-sensitive surface to activate a contextualmenu that includes a “reformat your device” feature, while a less hardpress may be needed to activate a contextual menu that provides accessto device settings.

Note that details of the processes described above with respect tomethod 2700 (e.g., FIG. 27) are also applicable in an analogous mannerto the methods described above. For example, methods 700, 900, 1000,1200, 1400, 1420, and 1600 may include one or more of thecharacteristics of the various methods described above with reference tomethod 2700. For example, user interface 602 may be the same userinterface as 2600. For another example, some of the described userinterfaces may have a contextual menu, such as contextual menu 2610,associated with them. For brevity, these details are not repeated.

In accordance with some embodiments, FIG. 28 shows an exemplaryfunctional block diagram of an electronic device 2800 configured inaccordance with the principles of the various described embodiments. Inaccordance with some embodiments, the functional blocks of electronicdevice 2800 are configured to perform the techniques described above.The functional blocks of the device 2800 are, optionally, implemented byhardware, software, or a combination of hardware and software to carryout the principles of the various described examples. It is understoodby persons of skill in the art that the functional blocks described inFIG. 28 are, optionally, combined or separated into sub-blocks toimplement the principles of the various described examples. Therefore,the description herein optionally supports any possible combination orseparation or further definition of the functional blocks describedherein.

As shown in FIG. 28, an electronic device 2800 includes a displayingunit 2802 configured to display a graphic user interface, atouch-sensitive surface unit 2804 configured to detect intensity ofcontacts, and a processing unit 2806 coupled to the displaying unit 2802and the touch-sensitive surface unit 2804. In some embodiments, theprocessing unit 2806 includes a display enabling unit 2808, a receivingunit 2810, a determining unit 2812, an action performing unit 2814, anda cease display enabling unit 2816.

The processing unit 2806 is configured to: enable display (e.g., usingdisplay enabling unit 2808) a user interface including a set of one ormore affordances; while enabling display of the user interface, receive(e.g., using receiving unit 2810) a user input on the touch-sensitivesurface; determine (e.g., using determining unit 2812) a characteristicintensity of the user input; and in accordance with a determination thatthe characteristic intensity of the user input exceeds an intensitythreshold: determine (e.g., using determining unit 2812) whether acontextual affordance is available for the user interface; in accordancewith a determination that the contextual affordance is available, enabledisplay (e.g., using display enabling unit 2808) of the contextualaffordance; and in accordance with a determination that the contextualaffordance is not available, enable display (e.g., using displayenabling unit 2808) of a visual indication that the contextualaffordance is not available for the user interface.

In some embodiments, displaying the visual indication comprises shiftingthe display of the set of one or more affordances of the user interfaceone or more times on the display.

In some embodiments, displaying the visual indication comprises shiftingthe display of the set of one or more affordances of the user interfaceone or more times in the left and right directions on the display.

In some embodiments, displaying the visual indication comprises reducinga size of a first affordance of the set of one or more affordances ofthe user interface on the display; and subsequent to reducing the sizeof the first affordance of the set of one or more affordances,increasing the size of the first affordance of the set of one or moreaffordances on the display.

In some embodiments, displaying the visual indication comprisesoscillating a first affordance of the set of one or more affordances ofthe user interface on the display.

In some embodiments, the processing unit 2806 is further configured to:in accordance with a determination that the characteristic intensity ofthe user input does not exceed the intensity threshold: perform (e.g.,using action performing unit 2814) an action based on a location of theuser input on the touch-sensitive surface.

In some embodiments, the processing unit 2806 is further configured to:in accordance with a determination that the characteristic intensity ofthe user input does not exceed the intensity threshold: determine (e.g.,using determining unit 2812) whether a location of the user inputcorresponds to a location of an affordance of the set of one or moreaffordances; and in accordance with a determination that the user inputcorresponds to the location of the affordance of the set of one or moreaffordances, perform (e.g., using action performing unit 2814) an actionassociated with the affordance of the set of one or more affordances.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises launching anapplication associated with the affordance. In some embodiments,performing the action associated with the affordance of the set of oneor more affordances comprises enabling display of one or more charactersin a text field. In some embodiments, performing the action associatedwith the affordance of the set of one or more affordances comprisesactivating an action associated with a notification. In someembodiments, performing the action associated with the affordance of theset of one or more affordances comprises enabling display of one or moreemoji in a text field.

In some embodiments, performing the action associated with theaffordance of the set of one or more affordances comprises activatingvoice input functionality for transcription into a text field. In someembodiments, performing the action associated with the affordance of theset of one or more affordances comprises activating a user interface foradding an emoji into a text field. In some embodiments, performing theaction associated with the affordance of the set of one or moreaffordances comprises activating a user interface for transcribing voiceinput.

In some embodiments, the processing unit 2806 is further configured to:while enabling display the contextual affordance, receive (e.g., usingreceiving unit 2810) a second user input on the touch-sensitive surface;determine (e.g., using determining unit 2812) a characteristic intensityof the second user input; and in accordance with a determination thatthe characteristic intensity of the second user input exceeds a secondintensity threshold: cease display (e.g., using cease display enablingunit 2816) of the contextual affordance and displaying the set of one ormore affordances.

In some embodiments, the processing unit 2806 is further configured to:while enabling display of the contextual affordance, receive (e.g.,using receiving unit 2810) a second user input on the touch-sensitivesurface; determine (e.g., using determining unit 2812) a characteristicintensity of the second user input; and in accordance with adetermination that the characteristic intensity of the second user inputdoes not exceed the second intensity threshold: perform (e.g., usingaction performing unit 2814) a second action based on a location of thesecond user input on the touch-sensitive surface.

In some embodiments, the processing unit 2806 is further configured to:while enabling display of the contextual affordance, receive (e.g.,using receiving unit 2810) a second user input on the touch-sensitivesurface; in accordance with a determination that the characteristicintensity of the second user input does not exceed the second intensitythreshold: determine (e.g., using determining unit 2812) whether alocation of the second user input corresponds to a location of thecontextual affordance; and in accordance with a determination that thesecond user input corresponds to the location of the contextualaffordance, perform (e.g., using action performing unit 2814) a secondaction associated with the contextual affordance.

In some embodiments, enabling display of the visual indication comprisesanimating a horizontal shake of the set of one or more affordances. Insome embodiments, enabling display of the visual indication comprisesanimating a vertical shake of the set of one or more affordances.

In some embodiments, the intensity threshold is the same as the secondintensity threshold.

The operations described above with reference to FIG. 27 are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.28. For example, displaying operation 2702 and receiving operation 2704may be implemented by event sorter 170, event recognizer 180, and eventhandler 190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface corresponds to apredefined event or sub event, such as activation of an affordance on auser interface. When a respective predefined event or sub-event isdetected, event recognizer 180 activates an event handler 190 associatedwith the detection of the event or sub-event. Event handler 190 mayutilize or call data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the various described embodiments to the precise forms disclosed.Many modifications and variations are possible in view of the aboveteachings. The embodiments were chosen and described in order to bestexplain the principles of the various described embodiments and theirpractical applications, to thereby enable others skilled in the art tobest utilize the various described embodiments with variousmodifications as are suited to the particular use contemplated.

What is claimed is:
 1. An electronic device, comprising: atouch-sensitive display; one or more processors; a memory storing one ormore programs configured to be executed by the one or more processors,the one or more programs including instructions for: displaying, via thetouch-sensitive display, a keyboard interface and a dictationaffordance; while displaying the keyboard interface and the dictationaffordance, detecting, via the touch-sensitive display, a first userinput; in response to detecting the first user input: in accordance witha determination that the first user input corresponds to a first key ofa keyboard, displaying, in the keyboard interface, a charactercorresponding to the first key; and in accordance with a determinationthat the first user input corresponds to the dictation affordance,displaying a dictation user interface for converting speech into text.2. The electronic device of claim 1, wherein the one or more programsfurther include instructions for: displaying, via the touch-sensitivedisplay, an emoji affordance with the dictation user interface; whiledisplaying the dictation user interface and the emoji affordance,detecting, via the touch-sensitive display, a second user inputcorresponding to the emoji affordance; and in response to detecting thesecond user input, displaying an emoji user interface for adding anemoji to a message.
 3. The electronic device of claim 1, wherein the oneor more programs further include instructions for: displaying, via thetouch-sensitive display, a suggested-content user interface including afirst suggested-content affordance, a second suggested-contentaffordance, and a keyboard affordance; while displaying thesuggested-content user interface, detecting, via the touch-sensitivedisplay, a third user input; and in response to detecting the third userinput: in accordance with a determination that the third user inputcorresponds to the first suggested-content affordance, adding firstcontent to a message, wherein the first content corresponds to the firstsuggested-content affordance; and in accordance with a determinationthat the third user input corresponds to the second suggested-contentaffordance, adding second content to a message, wherein: the secondcontent corresponds to the second suggested-content affordance, thesecond content is different from the first content, and displaying thekeyboard interface and the dictation affordance occurs in response todetecting the third user input and in accordance with a determinationthat the third user input corresponds to the keyboard affordance.
 4. Theelectronic device of claim 3, wherein the one or more programs furtherinclude instructions for: displaying, via the touch-sensitive display, afirst affordance with the keyboard interface and the dictationaffordance; and in response to detecting the first user input: inaccordance with a determination that the first user input corresponds tothe first affordance, displaying, via the touch-sensitive display, thesuggested-content user interface.
 5. The electronic device of claim 3,wherein the one or more programs further include instructions for:displaying, via the touch-sensitive display, an add-contact affordanceand a create-message affordance; while displaying the add-contactaffordance and the create-message affordance, detecting, via thetouch-sensitive display, a fourth user input; in response to detectingthe fourth user input: in accordance with a determination that thefourth user input corresponds to the add-content affordance, displaying,via the touch-sensitive display, a second user interface to add acontact to a message; and in accordance with a determination that thefourth user input corresponds to the create-message affordance,displaying, via the touch-sensitive display, the suggested-content userinterface.
 6. The electronic device of claim 1, wherein the one or moreprograms further include instructions for: displaying, via thetouch-sensitive display, a second affordance with the keyboard interfaceand the dictation affordance; and in response to detecting the firstuser input: in accordance with a determination that the first user inputcorresponds to the second affordance, replacing display of a row ofcharacters of the keyboard interface with a second row of characters,wherein the second row of characters is different from the row ofcharacters.
 7. The electronic device of claim 1, the one or moreprograms further including instructions for: while displaying thedictation user interface, receiving speech input; and in response toreceiving the speech input, transcribing the speech input.
 8. Theelectronic device of claim 1, wherein the dictation user interfaceincludes a waveform.
 9. A non-transitory computer-readable storagemedium storing one or more programs configured to be executed by one ormore processors of an electronic device with a touch-sensitive display,the one or more programs including instructions for: displaying, via thetouch-sensitive display, a keyboard interface and a dictationaffordance; while displaying the keyboard interface and the dictationaffordance, detecting, via the touch-sensitive display, a first userinput; in response to detecting the first user input: in accordance witha determination that the first user input corresponds to a first key ofa keyboard, displaying, in the keyboard interface, a charactercorresponding to the first key; and in accordance with a determinationthat the first user input corresponds to the dictation affordance,displaying a dictation user interface for converting speech into text.10. A method, comprising: at an electronic device with a touch-sensitivedisplay: displaying, via the touch-sensitive display, a keyboardinterface and a dictation affordance; while displaying the keyboardinterface and the dictation affordance, detecting, via thetouch-sensitive display, a first user input; in response to detectingthe first user input: in accordance with a determination that the firstuser input corresponds to a first key of a keyboard, displaying, in thekeyboard interface, a character corresponding to the first key; and inaccordance with a determination that the first user input corresponds tothe dictation affordance, displaying a dictation user interface forconverting speech into text.